IndexError:列表索引超出范围12

时间:2019-04-23 07:25:06

标签: python

import sys

print("Hi, " + sys.argv[1] + ".")
print('How Are You?')

我得到的错误是

C:\Users\AUDUSER\Desktop\Python\Project1\venv\Scripts\python.exe C:/Users/AUDUSER/Desktop/Python/Project2/userargument.py
Traceback (most recent call last):
  File "C:/Users/AUDUSER/Desktop/Python/Project2/userargument.py", line 3, in <module>
    print("Hi, " + sys.argv[1] + ".")
IndexError: list index out of range

3 个答案:

答案 0 :(得分:3)

如果您以如下方式调用脚本:python yourscript.py SomeName,则应该可以正常工作

答案 1 :(得分:0)

sys.argv代表一个列表,该列表包含列表中提供给python脚本的所有输入以及该列表的第一个元素。

sys.argv[0]是python脚本本身的名称。在您的情况下,由于您没有为列表提供参数,因此列表的大小为1,因此会抛出list index out of range

为了使自己幽默,请以python script.py A B C D的身份运行此脚本

import sys

for item in sys.argv:
    print(item)

您的输出将是。

script.py
A
B
C
D

如您所见,列表中的第一个元素是脚本名称script.py,后跟其他参数

答案 2 :(得分:0)

sys.argv是Python中的列表,其中包含传递给脚本的命令行参数。

使用len(sys.argv)函数,您可以计算参数的数量。

如果要使用命令行参数,则可能要 使用sys.argv。

,您应该尝试放置sys.argv [0]而不是sys.argv [1]。 看看这个网页:https://www.pythonforbeginners.com/system/python-sys-argv