python - 如何接受多个元素的列表作为命令行参数?

标签 python linux list command-line argparse

所以我有一个像这样设置的解析器:

parser.add_argument('-f', '--foo', metavar='foo', type=ast.literal_eval, default=[], help="Foo")

如果用户愿意,我需要让他们输入多个值:

$ python3 foo.py -f [0x01, 0x56, 0xff] -a blah -b blah ...

但是每当我尝试列表中的多个值时,我都会收到 EOF 错误:

...
File "<unknown>", line 1
[0x01,
     ^
SyntaxError: unexpected EOF while parsing

设置解析器来处理此类问题的正确方法是什么?

最佳答案

只需将其包裹在 "" 中即可:

python3 foo.py -f "[0x01, 0x56, 0xff]" -a blah -b blah ...

然后让 foo.py (在本例中)解析它。

关于python - 如何接受多个元素的列表作为命令行参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53889717/

相关文章:

php/apache2 - if (bug - discussion, finding an explanation) 简写

java - 如何从数组列表中获取值?

c# - 使用 nhibernate 时更新子集合的最优雅的方法是什么(不创建不必要的添加和删除)?

javascript - AppleScript:在 javascript 中循环

python - 关于如何使用 SWIG 为 python 做 c 包装的疑问

linux - RHEL 5.5 中的 TAHI 合规性 (IPV6)

python - 如何在 XLWings 中卡住 Pane

Python以错误的顺序覆盖文件

Python html 处理

Python virtualenv 选择了错误的库