Python读取同目录highscore.txt报File Not Found Error是什么原因
同目录下Python读取文件报FileNotFoundError解决方案
核心原因
你使用相对路径调用open()函数时,Python会从当前运行时的工作目录查找文件,而非slakes.py文件所在的目录。如果运行脚本时的终端工作目录和py文件目录不一致,就会出现明明文件同目录却找不到的报错。
排查步骤
- 先确认当前工作目录是否正确,在slakes.py开头加入以下代码运行:
import os print("当前工作目录:", os.getcwd())
如果输出的路径不是两个文件存放的文件夹,就可以确定是工作目录匹配问题。
修复方案
最通用的写法是动态获取当前py文件的所在目录,再拼接目标文件名,不受运行时工作目录影响:
import os # 取当前slakes.py的绝对路径,再提取所在目录 file_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接得到highscore.txt的绝对路径 target_path = os.path.join(file_dir, 'highscore.txt') with open(target_path, 'r') as f: high_score = f.read()
其他小概率排查项
- Windows系统下确认没有隐藏文件扩展名:很多用户会误将文件命名为
highscore.txt.txt,系统隐藏后缀后显示为highscore.txt,开启文件扩展名显示即可核对 - Linux/macOS系统确认运行脚本的用户拥有highscore.txt的读取权限
内容的提问来源于stack exchange,提问作者Sahaj Bhatt
相关产品推荐
相关产品推荐

