当我收到类似“ IndexError”的提示时,该怎么办?

时间:2019-08-29 15:48:04

标签: python-3.7

首先,我试图像下面这样写

import sys    
name = sys.argv[1]    
print("Hello, " + name +"!")

但是,我无法完成它。 关于这部分name = sys.argv[1]
它给了我IndexError : list index out of range

2 个答案:

答案 0 :(得分:0)

这意味着您应该为脚本提供一个参数,例如python script.py Kohei。以这种方式启动时,sys.argv [0]是脚本名称,提供的参数以sys.argv [1]开头,依此类推。

答案 1 :(得分:0)

import sys
name = sys.argv[0]
value = sys.argv[1]
print("Hello, " + name +"!")
print("Hello, " + value +"!")

IndexError:列出了超出范围的索引,这是因为从shell或cmd运行python脚本时,您仅提供了一个参数。

假设,您已使用 test.py 之类的名称保存了python文件,并且要运行此脚本,必须在python test.py上运行命令command promptterminal。这里是命令行参数的概念,在读取单词python之后的命令时,或者我们可以说token-“ python”我们有空格分隔的值,它们分别是视为命令行参数。可以从sys.argv中将空格分隔的单词或标记或自变量检索为list。而当您执行sys.argv[0]时,我们将得到test.py的输出,它是命令行参数或我们的文件名。如果我们运行命令python test.py testing,我们将得到测试结果作为sys.argv[1]的输出。

您收到错误IndexError:列表索引超出范围,因为您正在运行python test.py之类的命令,因此我们在索引0处只有一个命令行参数test.py,而索引没有任何值1。