我正在argparse
为这个 python 项目使用该模块。我希望ArgumentParser
在调用parse_args()
. 有人有想法么?
问问题
183 次
2 回答
3
从 add_argument() 的源代码中得到这个:
>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('-v', '--verbosity', help='more debug info', action='store_true')
_StoreTrueAction(option_strings=['-v', '--verbosity'], dest='verbosity', nargs=0, const=True, default=False, type=None, choices=None, help='more debug info', metavar=None)
>>> parser._option_string_actions.keys()
['-v', '-h', '--verbosity', '--help']
>>>
于 2013-02-16T19:29:22.850 回答
1
前几天我试图解决这个问题,但除了@vvoody 所做的事情之外,我从未得到令人满意的答案。
In [117]: map(lambda x : x.dest,parser._actions)
Out[117]: ['help', 'verbosity']
好处是它删除了所有别名-v
==--verbosity
等。 但是,如果您更改dest
为,--verbosity
例如dest='loud'
,它会返回loud
,这可能是也可能不是问题。
argsparse
开箱即用似乎是一件显而易见的事情。
于 2013-02-16T19:52:35.597 回答