Python ValueError:int()的文本无效
第86行:Python ValueError:int()的文本无效,python,int,Python,Int,第86行:numthreads=int(sys.argv[1]) 有答案吗?我是一个使用python的新手,因此非常感谢您的帮助。来自sys.argv[1]的值必须能够转换为int Traceback (most recent call last): File "school.py", line 86, in ? numthreads = int(sys.argv[1]) ValueError: invalid literal for int() >>int(5)#好的!将int转
numthreads=int(sys.argv[1])
有答案吗?我是一个使用python的新手,因此非常感谢您的帮助。来自
sys.argv[1]
的值必须能够转换为int
Traceback (most recent call last):
File "school.py", line 86, in ?
numthreads = int(sys.argv[1])
ValueError: invalid literal for int()
>>int(5)#好的!将int转换为int(无操作)
5.
>>>int(5.1)#好的!将浮点转换为int
5.
>>>int('c')#不!无法将字符转换为int
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
int('c')
ValueError:基数为10的int()的文本无效:“c”
在您的情况下,sys.argv[1]
很可能是一个空字符串。确保要转换的项目也是一个整数
,而不是包含字母/符号的字符串
还请注意,
sys.argv
是一个参数列表,其中0
索引字符串是脚本名称本身,因此对于命令file.py-arg1-arg2
,数组将是['file.py','-arg1','-arg2']
sys.argv[1]
不是预期的(错误说明了错误的原因);实际价值是多少?
>>> 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'