终端报Index error: List index out of range及No such file or directory错误求助
错误原因排查与解决
1. Index error: List index out of range
你的代码里用了sys.argv[1],这个是获取命令行传入的第一个参数,但你运行脚本的时候没传任何参数,sys.argv列表里就只有脚本文件名(sys.argv[0]),根本没有索引1的元素,所以触发这个错误。
解决方法:
- 运行脚本时必须跟上参数,比如脚本叫
test.py,就执行:python test.py 你的名字 - 或者给代码加参数判断,避免没传参数时报错:
import sys if len(sys.argv) > 1: print("Hello my name is ", sys.argv[1]) else: print("请在运行脚本时传入你的名字作为参数")
2. No such file or directory
这个错误是因为终端找不到你要运行的Python脚本文件,常见原因:
- 脚本文件名拼写错误,包括大小写(比如脚本是
NameScript.py,你写成了namescript.py,Linux/macOS下会识别成不同文件) - 终端当前的工作目录和脚本所在目录不一致,比如脚本在
桌面文件夹,但你终端当前在文档文件夹,直接输脚本名就找不到。
解决方法:
- 仔细核对脚本文件名的拼写和大小写,确保完全一致
- 先切换到脚本所在目录再运行,比如脚本在
~/Desktop,就先执行:cd ~/Desktop python test.py 你的名字 - 或者直接用脚本的绝对路径运行,比如:
python /Users/你的用户名/Desktop/test.py 你的名字
内容的提问来源于stack exchange,提问作者Pratham solanki
相关产品推荐
相关产品推荐

