Python 错误:ValueError:基数为10的int()的文本无效
我是一个新手巨蟒。当我试图执行下面的代码时,我看到了一个错误。如何理解什么是错误,为什么会出现错误以及如何克服错误Python 错误:ValueError:基数为10的int()的文本无效,python,Python,我是一个新手巨蟒。当我试图执行下面的代码时,我看到了一个错误。如何理解什么是错误,为什么会出现错误以及如何克服错误 import sys x = int(sys.argv[1]) 错误: x = int(sys.argv[1]) IndexError: list index out of range x = int(sys.argv[0]) ValueError: invalid literal for int() with base 10: 然后,我从“0”开始索引值。 代码: 错误:
import sys
x = int(sys.argv[1])
错误:
x = int(sys.argv[1])
IndexError: list index out of range
x = int(sys.argv[0])
ValueError: invalid literal for int() with base 10:
然后,我从“0”开始索引值。
代码:
错误:
x = int(sys.argv[1])
IndexError: list index out of range
x = int(sys.argv[0])
ValueError: invalid literal for int() with base 10:
看起来您正在从Pycharm本身运行该代码,而Pycharm没有为您传递这些argv,因此您得到了
ListIndex
错误。要解决此问题,您需要启动cmd
,然后导航到文件所在的目录,然后单击
python arg1 arg2
其中arg1 arg2可以是任何内容,只要在脚本中正确处理它们
x = int(sys.argv[0])
ValueError: invalid literal for int() with base 10:
这是因为PyCharm将文件名传递为argv[0]
。在代码中,您试图将文件名转换为int
,这会导致此错误
x=int(sys.argv[1])
不起作用,因为PyCharm在argv[0]
处没有传递除文件名以外的任何值。因此,argv[1]
不存在,因此会出现ListIndex错误。与所有问题一样,将其分解为更小的块
首先,只运行sys.argv
您将看到它是一个带有空字符串的列表。这意味着索引外错误很明显,因为第二个索引中没有任何项
接下来,不能使用空字符串作为列表的索引。这将是您的第二个错误。
sys.argv[0]
是python脚本的名称(不是整数)sys.argv[1]
命令行上的第一个参数(如果有)。。。尝试print(sys.argv)
…您正在运行的命令是什么?如何从PyCharm运行?要使用sys.argv
传递值,您需要将其作为脚本运行。因此pycharm内部有一个命令提示符,它将位于控制台旁边。打开它并运行相同的命令。@user7406980更新了我的答案,以显示为什么会出现这些特定错误。