python - 在 argparse 中接受来自命令行的字符串类型列表

标签 python argparse

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

我正在尝试从命令行接受并存储字符串参数列表,并毫无错误地接受它们。在某些时候,我有一个解决方案,要求我执行类似于以下操作的操作:

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

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

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

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

最佳答案

使用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'])

关于python - 在 argparse 中接受来自命令行的字符串类型列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27280603/

相关文章:

python - 有没有办法在 Python (3) for 循环中做条件语句?

python - 为什么在我使用复合主键时 AWS Lambda 返回 "The provided key element does not match the schema"?

python - (BAD_COLUMN_NAME) : Glyph refers to nonexistent column name, Bokeh

python - 如何确定是否在命令行上实际指定了 argparse 参数?

python - 检查 argparse 参数集,或使用默认值,或覆盖

Python argparse - 不同的选项集

python - 如何运行文本文件中包含的可执行文件(exe 的十六进制)

python - 如何将 2 个数据帧直方图合并到 1 个图中?

python - 如何让 argparse 从文件中读取参数,并在位置参数后添加选项

python - 如何强制 argparse 返回字符串列表?