如何在Python中读取整数命令行参数?

1 投票
2 回答
6954 浏览
提问于 2025-04-18 02:07

我一直在尝试很多人推荐的方法,但我还是遇到了这个错误:

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:]:
    # ...

撰写回答