IndexError:没有提供参数时列表索引超出范围

问题描述 投票:0回答:1

我只想知道为什么没有提供任何参数时,此代码为何会生成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

python sys
1个回答
0
投票

列表sys.argv包含您的命令行参数(索引0为命令本身,其余为参数)。因此,如果您不提供参数,则list仅包含一项(只有sys.argv[0]存在)。

© www.soinside.com 2019 - 2024. All rights reserved.