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

时间:2014-04-09 23:07:41

标签: python string input command-line-arguments

正如许多帖子所建议的那样,我一直在尝试以下方法,但我仍然在

  

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 个答案:

答案 0 :(得分: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]

答案 1 :(得分:3)

您需要跳过sys.argv [0],这是脚本的名称:

for i in sys.argv[1:]:
    # ...