首先,我试图像下面这样写
import sys
name = sys.argv[1]
print("Hello, " + name +"!")
但是,我无法完成它。
关于这部分name = sys.argv[1]
,
它给了我IndexError : list index out of range
答案 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 prompt
或terminal
。这里是命令行参数的概念,在读取单词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。