Python使用open()打开同目录txt文件报FileNotFoundError如何解决
错误核心原因
使用相对路径调用open()函数时,路径解析基准是Python进程的当前工作目录,而非脚本文件本身的存放目录。你运行脚本时的工作目录和脚本所在目录不一致,哪怕两个文件存放在同一个文件夹,也会触发文件不存在的报错。
解决方案
方法1:运行前切换工作目录
如果你通过终端运行脚本,先执行cd命令切换到reading_files.py所在的文件夹,再执行python reading_files.py即可正常读取文件。方法2:代码中拼接绝对路径(兼容性最佳,不受运行位置影响)
借助os模块先获取当前脚本的绝对路径,再拼接目标文件名,彻底避免路径匹配问题,同时推荐用with语法管理文件对象,无需手动调用close()释放资源:import os # 获取当前脚本所在目录的绝对路径 script_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接得到目标文件的绝对路径 file_path = os.path.join(script_dir, "myFile.txt") with open(file_path, "r") as text: print(text.read())方法3:排查路径配置问题
如果你不确定当前路径配置是否正确,可以在代码开头添加以下打印语句,确认工作目录和脚本目录是否匹配:import os print("当前工作目录:", os.getcwd()) print("脚本实际存放目录:", os.path.dirname(os.path.abspath(__file__)))
其他常见排查点
检查文件实际名称是否正确:Windows系统默认隐藏已知文件类型的扩展名,如果你手动给文件命名时加了.txt后缀,实际文件名可能为myFile.txt.txt,在资源管理器中开启「文件扩展名」显示即可确认修正。
内容的提问来源于stack exchange,提问作者Nano
相关产品推荐
相关产品推荐

