IndexError: list index out of range when no argument is supplied
IndexError: list index out of range when no argument is supplied
我只想知道为什么这段代码在没有提供任何参数的情况下生成 IndexError: list index out of range
?
script.py
import sys
a = sys.argv[1]
print(a)
带有 argument/s
的示例输出
user@linux:~$ python3 script.py abc
abc
user@linux:~$ python3 script.py abc def
abc
user@linux:~$
不带 argument/s
的示例输出
user@linux:~$ python3 script.py
Traceback (most recent call last):
File "script.py", line 2, in <module>
a = sys.argv[1]
IndexError: list index out of range
user@linux:~$
我的参考:https://www.pythonforbeginners.com/system/python-sys-argv
List sys.argv
包含您的命令行参数(索引 0 是命令本身,其余是参数)。因此,如果您不提供参数,则列表仅包含一项(只有 sys.argv[0]
)。
Here's 官方 Python 文档。
来自 python 文档 sys.argv
returns:
The list of command line arguments passed to a Python script. argv[0]
is the script name (it is operating system dependent whether this is a
full pathname or not).
问题是,当您 运行 您的脚本没有像 python3 script.py
这样的参数时,您试图通过使用 sys.argv[1]
访问 index 1
处的元素,但实际上该元素甚至不存在于列表中。
因此,python 解释器抛出一个 IndexError
.
我只想知道为什么这段代码在没有提供任何参数的情况下生成 IndexError: list index out of range
?
script.py
import sys
a = sys.argv[1]
print(a)
带有 argument/s
的示例输出user@linux:~$ python3 script.py abc
abc
user@linux:~$ python3 script.py abc def
abc
user@linux:~$
不带 argument/s
的示例输出user@linux:~$ python3 script.py
Traceback (most recent call last):
File "script.py", line 2, in <module>
a = sys.argv[1]
IndexError: list index out of range
user@linux:~$
我的参考:https://www.pythonforbeginners.com/system/python-sys-argv
List sys.argv
包含您的命令行参数(索引 0 是命令本身,其余是参数)。因此,如果您不提供参数,则列表仅包含一项(只有 sys.argv[0]
)。
Here's 官方 Python 文档。
来自 python 文档 sys.argv
returns:
The list of command line arguments passed to a Python script. argv[0] is the script name (it is operating system dependent whether this is a full pathname or not).
问题是,当您 运行 您的脚本没有像 python3 script.py
这样的参数时,您试图通过使用 sys.argv[1]
访问 index 1
处的元素,但实际上该元素甚至不存在于列表中。
因此,python 解释器抛出一个 IndexError
.