argparse参数列表
我正在尝试使用argparse来传递一系列参数,但我发现的唯一方法是为我想传递的每个参数都重新写一遍选项:
我现在使用的是:
main.py -t arg1 -a arg2
我希望这样:
main.py -t arg1 arg2 ...
这是我的代码:
parser.add_argument("-t", action='append', dest='table', default=[], help="")
2 个回答
1
你提到想要使用 argparse 的解决方案,我想给你介绍一个使用 docopt
包的替代方案。
首先,你需要先安装它:
$ pip install docopt
接下来,写下代码:
"""Usage:
main.py -a <arg>...
"""
if __name__ == "__main__":
from docopt import docopt
resargs = docopt(__doc__)
print resargs
运行它来显示使用说明:
$ python main.py
Usage:
main.py -a <arg>...
用你的参数调用它:
$ python main.py -a AA BB CC
{'-a': True,
'<arg>': ['AA', 'BB', 'CC']}
顺便说一下,如果你不需要 -a
这个选项,可以直接允许传递参数。这样对用户来说使用起来会更简单。