我想将一个整数列表作为参数传递给python脚本。
示例代码:
items = sys.argv[1]
for item in items:
print item
我的命令是:
python myscript.py 101,102,103
问题是'for in'给了我每个数字而不是每个项目用逗号分隔。
我确信这是一个简单的答案。如何循环分隔值而不是单个数字?
非常感谢!
答案 0 :(得分:5)
通常命令行参数由空格分隔。逗号分隔的数字以单个字符串形式出现,for
将字符串拆分为字符。您需要用逗号分隔它:items.split(',')
。一旦你这样做,你会发现你仍然有字符串,所以你需要将每个字符串转换为整数。
items = argv[1]
for item in items.split(','):
print int(item)
答案 1 :(得分:3)
我认为你应该直接使用:
python myscrypt.py 101 102 103
和
items = sys.argv
答案 2 :(得分:2)
拆分输入:
items = sys.argv[1].split(',')
for item in items:
print item
答案 3 :(得分:2)
命令行参数作为单个字符串传递给您的脚本,因此您需要使用','作为分隔符将其拆分以返回单个整数。
items = sys.argv[1]
for item in items.split(','):
print item