名为 "print" 的 argparse 参数
argparse argument named "print"
我想将名为 'print' 的参数添加到我的参数解析器
arg_parser.add_argument('--print', action='store_true', help="print stuff")
args = arg_parser.parse_args(sys.argv[1:])
if args.print:
print "stuff"
产量:
if args.print:
^
SyntaxError: invalid syntax
您也可以使用 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
我想将名为 'print' 的参数添加到我的参数解析器
arg_parser.add_argument('--print', action='store_true', help="print stuff")
args = arg_parser.parse_args(sys.argv[1:])
if args.print:
print "stuff"
产量:
if args.print:
^
SyntaxError: invalid syntax
您也可以使用 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