ValueError异常:无效的字面INT()
问题描述:
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,所以我会很感激一些帮助。
答
从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'
答
这很可能是sys.argv[1]
你的情况为空字符串。确保您要转换的项目也是integer
,而不是包含字母/符号的字符串。
还要注意的是sys.argv
是参数列表,其中0
索引字符串是脚本的名称本身,因此该命令file.py -arg1 -arg2
,该阵列将['file.py','-arg1','-arg2']
'sys.argv中[1]'是不是有什么预计(和错误说明为什么这是错的); *是什么*实际价值? – user2864740 2014-09-29 18:19:12