Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 错误:ValueError:基数为10的int()的文本无效_Python - Fatal编程技术网

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更新了我的答案,以显示为什么会出现这些特定错误。