2014-09-29 117 views
-3
Traceback (most recent call last): 
    File "school.py", line 86, in ? 
    numthreads = int(sys.argv[1]) 
ValueError: invalid literal for int() 

86号线:numthreads = int(sys.argv[1])ValueError异常:无效的字面INT()

任何答案?我是一个非常新手使用Python,所以我会很感激一些帮助。

+1

'sys.argv中[1]'是不是有什么预计(和错误说明为什么这是错的); *是什么*实际价值? – user2864740 2014-09-29 18:19:12

回答

1

sys.argv[1]未来的价值必须能够被转换为int

>>> int(5)  # Okay! Converting int to int (no-op) 
5 

>>> int(5.1) # Okay! Converting float to int 
5 

>>> int('c') # Nope! Cannot convert char to int 

Traceback (most recent call last): 
    File "<pyshell#2>", line 1, in <module> 
    int('c') 
ValueError: invalid literal for int() with base 10: 'c' 
1

这很可能是sys.argv[1]你的情况为空字符串。确保您要转换的项目也是integer,而不是包含字母/符号的字符串。

还要注意的是sys.argv是参数列表,其中0索引字符串是脚本的名称本身,因此该命令file.py -arg1 -arg2,该阵列将['file.py','-arg1','-arg2']

相关问题