我只想知道为什么没有提供任何参数时,此代码为何会生成IndexError: list index out of range
?
script.py
import sys
a = sys.argv[1]
print(a)
带有参数的样本输出
user@linux:~$ python3 script.py abc
abc
user@linux:~$ python3 script.py abc def
abc
user@linux:~$
没有参数的样本输出
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
列表sys.argv
包含您的命令行参数(索引0为命令本身,其余为参数)。因此,如果您不提供参数,则list仅包含一项(只有sys.argv[0]
存在)。