我正在尝试为我的程序设置一些简单的标志参数,但无法弄清楚如何访问它们。我有 argparser:
parser = argparse.ArgumentParser(description='Simple PostScript Interpreter')
parser.add_argument('-s', action="store_true")
parser.add_argument('-d', action="store_true")
parser.parse_args(sys.argv[1:])
该程序应该采取sps.py -s
, sps.py -d
, or sps.py
在命令行上。然后我只想检查是否-s
标志已设置或-d
标志已设置。如果两者均未设置,则默认为 -d。
我需要做什么才能访问解析器设置的布尔值?
你不需要给予parse_args() https://docs.python.org/dev/library/argparse.html#argparse.ArgumentParser.parse_args任何参数。你这样称呼它:
>>> args = parser.parse_args()
这将返回一个NameSpace https://docs.python.org/dev/library/argparse.html#argparse.Namespace目的。您可以使用点符号访问您的参数:
>>> args.s
False
>>> args.d
False
工作示例:
import argparse
parser = argparse.ArgumentParser(description='Simple PostScript Interpreter')
parser.add_argument('-s', action="store_true")
parser.add_argument('-d', action="store_true")
args = parser.parse_args()
print args
像这样运行它:
msvalkon@Lunkwill:/tmp$ python sps.py
Namespace(d=False, s=False)
msvalkon@Lunkwill:/tmp$ python sps.py -d
Namespace(d=True, s=False)
msvalkon@Lunkwill:/tmp$ python sps.py -s
Namespace(d=False, s=True)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)