从argparse命令行接受类型字符串列表

时间:2014-12-03 20:03:50

标签: python argparse

我使用argparse遇到了另一个问题。

我尝试从命令行接受并存储字符串参数列表,并接受它们而不会出错。在某些时候,我有一个解决方案,要求我做类似以下的事情:

backup.py -d C:\blah -d C:\anotherBlah

我想要做的是同时接受参数,而不必在每次输入后指定-d。例如:

backup.py -d C:\blah C:\anotherBlah C:\anotherBlahBlah

将它们存储为类型字符串列表而不是单个字符。

1 个答案:

答案 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'])