You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python读写文件遇FileNotFoundError,求长期解决方案

解决Python文件读写的FileNotFoundError:不用每次都切换目录

先说说你找到的这段代码的作用

这段代码是通过os.chdir()切换到文件所在的目录,让后续open()只用文件名就能找到文件。但完全不需要每次都加这段代码,有更稳妥、易维护的长期方案。

推荐的长期解决方案

1. 直接使用绝对路径

不用切换目录,open()时直接写文件的完整路径。注意Windows路径的几种正确写法:

  • 把反斜杠改成双反斜杠:open("E:\\Python\\learn\\text.txt")
  • 用原始字符串(路径前加r):open(r"E:\Python\learn\text.txt")
  • 用正斜杠(跨Windows/Linux通用):open("E:/Python/learn/text.txt")

2. 用相对路径(项目移植首选)

把Python脚本和要读写的文件放在同一个文件夹里,直接写文件名即可:open("text.txt")。
如果文件在子文件夹,比如脚本在根目录,文件在data子文件夹,就写:open("data/text.txt")(这种写法全系统兼容)。

3. 使用pathlib模块(现代Python推荐)

Python 3.4+内置的pathlib模块,处理路径更直观,自动适配不同系统的路径分隔符,还能配合with语句自动关闭文件,代码简洁又安全:

from pathlib import Path

# 定义文件路径(绝对/相对路径都支持)
file_path = Path(r"E:\Python\learn\text.txt")
# 相对路径写法:file_path = Path("text.txt")

# 读取文件
with file_path.open() as f:
    data = f.read()
    print(data)

额外注意事项

  • 确认路径拼写正确,尤其是文件名的大小写(Linux/macOS严格区分,Windows不区分,但统一写法更稳妥)。
  • 检查文件确实存在于你指定的路径,别把文件存错文件夹了。
  • 尽量少用os.chdir():切换目录后,后续所有文件操作都会基于这个目录,多文件操作时容易搞混路径,反而增加出错概率。

内容的提问来源于stack exchange,提问作者Pratik Vinod

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 14:05:39