在 Python 中访问 argparse 的参数值

2024-05-15

我正在尝试为我的程序设置一些简单的标志参数,但无法弄清楚如何访问它们。我有 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(使用前将#替换为@)

在 Python 中访问 argparse 的参数值 的相关文章

随机推荐