Index: Lib/argparse.py =================================================================== --- Lib/argparse.py (revision 87438) +++ Lib/argparse.py (working copy) @@ -980,6 +980,32 @@ parser.exit() +class _WriteAction(Action): + + def __init__(self, + option_strings, + message, + file=None, + dest=SUPPRESS, + default=SUPPRESS, + help=None): + super(_WriteAction, self).__init__( + option_strings=option_strings, + dest=dest, + default=default, + nargs=0, + help=help) + self.message = message + self.file = file + + def __call__(self, parser, namespace, values, option_string=None): + if self.file is None: + self.file = _sys.stdout + self.file.write(self.message) + self.file.write('\n') + parser.exit() + + class _VersionAction(Action): def __init__(self, @@ -1170,6 +1196,7 @@ self.register('action', 'append_const', _AppendConstAction) self.register('action', 'count', _CountAction) self.register('action', 'help', _HelpAction) + self.register('action', 'write', _WriteAction) self.register('action', 'version', _VersionAction) self.register('action', 'parsers', _SubParsersAction)