您也可以使用getattr() 来访问恰好是reserved keywords 的属性:
if getattr(args, 'print'):
但是,您只需避免将该名称作为目的地,您自己就会变得更容易;也许使用print_(通过dest argument):
arg_parser.add_argument('--print', dest='print_', action='store_true', help="print stuff")
# ...
if args.print_:
或者,更常见的同义词,例如verbose:
arg_parser.add_argument('--print', dest='verbose', action='store_true', help="print stuff")
# ...
if args.verbose:
快速演示:
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--print', dest='print_', action='store_true', help="print stuff")
_StoreTrueAction(option_strings=['--print'], dest='print_', nargs=0, const=True, default=False, type=None, choices=None, help='print stuff', metavar=None)
>>> args = parser.parse_args(['--print'])
>>> args.print_
True