我看不清楚如何迭代argparse的接受的 args。我得到了我可以遍历parsed_args结果,但我想要的是迭代解析器配置的参数(即使用optparse你可以迭代args)。
例如:
parser = argparse.ArgumentParser( prog = 'myapp' )
parser.add_argument( '--a', .. )
parser.add_argument( '--b', ...)
parser.add_argument( '--c', ... )
for arg in parser.args():
print arg
会导致
--a
--b
--c
答案 0 :(得分:3)
您可能希望getattr
中的args
:
args = parser.parse_args()
for arg in vars(args):
print arg, getattr(args, arg)
<强>结果强>:
a None
c None
b None
答案 1 :(得分:2)
如果你想列出选项,你可以这样做:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--foo')
parser.add_argument('--bar')
parser.add_argument('--baz')
for option in parser._optionals._actions:
print(option.option_strings)
但是,我没有看到迭代它们的实际理由。您始终可以通过--help
查看选项。