--- argparse.py.old 2010年07月30日 14:54:43.000000000 +0200 +++ argparse.py 2010年07月30日 15:10:10.665073509 +0200 @@ -1005,6 +1005,33 @@ parser.exit(message=formatter.format_help()) +class _WriteAction(Action): + + def __init__(self, + option_strings, + message=None, + file=_sys.stdout, + 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.message: + if self.file is None: + self.file = _sys.stdout + self.file.write(self.message) + self.file.write("\n") + parser.exit() + + class _SubParsersAction(Action): class _ChoicesPseudoAction(Action): @@ -1169,6 +1196,7 @@ self.register('action', 'count', _CountAction) self.register('action', 'help', _HelpAction) self.register('action', 'version', _VersionAction) + self.register('action', 'write', _WriteAction) self.register('action', 'parsers', _SubParsersAction) # raise an exception if the conflict handler is invalid

AltStyle によって変換されたページ (->オリジナル) /