在Perl中,有一个
"="&$D5+1
具有将多个值传递给选项的功能的模块。示例,如下:
Getopt::Long
Python中有没有相同的东西可以做同样的事情?我理解自己解析每个选项及其值,并对文件做任何事情。但我正在寻找开箱即用的东西,就像我们在Perl中所做的那样。
答案 0 :(得分:4)
是的,你可以用Python argparse
做到这一点。来自文档:https://docs.python.org/3/library/argparse.html#action
'附加' - 它存储一个列表,并将每个参数值附加到列表中。这对于允许多次指定选项很有用。用法示例:
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', action='append')
>>> parser.parse_args('--foo 1 --foo 2'.split())
Namespace(foo=['1', '2'])
所以你的例子是:
#!/usr/bin/python
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--file_list', action='append')
args = parser.parse_args()
if args.file_list:
for f in args.file_list:
print f
您可以使用python ./myscript.py --file_list a --file_list b --file_list c
运行它。