Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何列出ArgumentParser实例中所有已注册的参数?_Python_Argparse - Fatal编程技术网

Python 如何列出ArgumentParser实例中所有已注册的参数?

Python 如何列出ArgumentParser实例中所有已注册的参数?,python,argparse,Python,Argparse,找不到它的任何现有方法,所以我想知道是否有黑客行为?有黑客行为;您可以使用undocumented属性解析器列出所有已注册的操作。\u actions: >>> import argparse >>> parser = argparse.ArgumentParser() >>> parser.add_argument('--foo') _StoreAction(option_strings=['--foo'], dest='foo', nar

找不到它的任何现有方法,所以我想知道是否有黑客行为?

有黑客行为;您可以使用undocumented属性
解析器列出所有已注册的操作。\u actions

>>> import argparse
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo')
_StoreAction(option_strings=['--foo'], dest='foo', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None)
>>> parser.add_argument('--bar')
_StoreAction(option_strings=['--bar'], dest='bar', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None)
>>> parser.add_argument('spam')
_StoreAction(option_strings=[], dest='spam', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None)
>>> parser.add_argument('eggs')
_StoreAction(option_strings=[], dest='eggs', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None)
>>> parser._actions
[_HelpAction(option_strings=['-h', '--help'], dest='help', nargs=0, const=None, default='==SUPPRESS==', type=None, choices=None, help='show this help message and exit', metavar=None), _StoreAction(option_strings=['--foo'], dest='foo', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None), _StoreAction(option_strings=['--bar'], dest='bar', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None), _StoreAction(option_strings=[], dest='spam', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None), _StoreAction(option_strings=[], dest='eggs', nargs=None, const=None, default=None, type=None, choices=None, help=None, metavar=None)]

使用该属性的风险由您自己承担;这些内部构件可能会在将来的版本中发生更改。

.add\u argument
返回它刚刚创建的参数(操作)。因此,您可以将其保存在自己的变量或列表中。这些都是你在
\u actions
列表中看到的相同的对象指针。有人能解释一下反对票吗?只是问题太短了吗?或者在
argparse
的上下文中,它有什么问题吗?