我使用argparse遇到了另一个问题。
我尝试从命令行接受并存储字符串参数列表,并接受它们而不会出错。在某些时候,我有一个解决方案,要求我做类似以下的事情:
backup.py -d C:\blah -d C:\anotherBlah
我想要做的是同时接受参数,而不必在每次输入后指定-d。例如:
backup.py -d C:\blah C:\anotherBlah C:\anotherBlahBlah
将它们存储为类型字符串列表而不是单个字符。
答案 0 :(得分:3)
使用nargs='+'
:
parser.add_argument('-d', nargs='+')
例如,
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-d', nargs='+')
args = parser.parse_args(r'-d C:\blah C:\anotherBlah C:\anotherBlahBlah'.split())
print(args)
产量
Namespace(d=['C:\\blah', 'C:\\anotherBlah', 'C:\\anotherBlahBlah'])