Python ValueError:int()的文本无效

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转

第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转换为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'