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 に答える