如何在Python中读取整数命令行参数?
我一直在尝试很多人推荐的方法,但我还是遇到了这个错误:
ValueError: invalid literal for int() with base 10: 'gap_interval.py'
。我到底漏掉了什么呢?
import sys
if __name__ == '__main__':
n = 4
a = []
for i in sys.argv:
print int(i.strip())
2 个回答
4
在Python中,sys.argv
总是把文件名作为第一个参数:
>>> python test.py 1 2 3
>>> sys.argv
['test.py', '1', '2', '3']
如果你想把它转换成int
(整数),可以这样做:
nums = map(int, sys.argv[1:])
>>> nums
[1,2,3]
3
你需要跳过 sys.argv[0],因为它是脚本的名字:
for i in sys.argv[1:]:
# ...