【发布时间】:2013-03-17 10:58:25
【问题描述】:
我想将 2 个整数列表作为输入传递给 python 程序。
例如,(从命令行)
python test.py --a 1 2 3 4 5 -b 1 2
此列表中的整数范围为 1-50,列表 2 是列表 1 的子集。
有什么帮助/建议吗? argparse 是正确的模块吗?使用它有什么问题吗?
我试过了:
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--a', help='Enter list 1 ')
parser.add_argument('--b', help='Enter list 2 ')
args = parser.parse_args()
print (args.a)
【问题讨论】:
-
整数列表长什么样?
-
显示您要使用的示例命令行?另外,添加常见的 cmets 作为问题的一部分。
-
每个列表中的整数范围从 1 到 50。列表 2 是列表 1 的子集
-
按照惯例,空格分隔的值是不同的参数。引用您的列表 (
"1 2 3 4 5") 或用逗号分隔它们 (1,2,3,4,5) -- 然后argparse会将它们视为一个参数。 -
@katrielalex:
nargs="+"改变了这种行为,所以它把-a 1 2 3作为一个列表吃掉了
标签: python command-line argparse