Python报错FileNotFoundError: [Errno 2] 找不到文件或目录,求助解决
文件读取故障排查方案
- 先抓准错误根源:运行代码时把完整的错误信息贴出来,比如是
FileNotFoundError还是PermissionError,不同错误对应不同问题方向。 - 核对工作目录与路径:
- Python的相对路径基于脚本运行时的工作目录,而非脚本文件本身所在目录。可以先加代码打印当前工作目录:
对比这个目录和import os print(os.getcwd())data.dat的实际位置,调整相对路径或者把文件移到工作目录下。 - 使用绝对路径时,Windows系统要注意转义问题:要么用双反斜杠
C:\\Lab09\\data.dat,要么用原始字符串r'C:\Lab09\data.dat';Linux/macOS要严格区分文件名大小写,比如Data.dat和data.dat是两个完全不同的文件。
- Python的相对路径基于脚本运行时的工作目录,而非脚本文件本身所在目录。可以先加代码打印当前工作目录:
- 确认文件真实存在:
- 检查Windows是否隐藏了文件扩展名,避免实际文件名是
data.dat.txt却误以为是data.dat,可以在文件夹选项里开启「显示已知文件类型的扩展名」。
- 检查Windows是否隐藏了文件扩展名,避免实际文件名是
- 检查文件权限:
- Windows右键文件→属性→安全,确认当前用户有「读取」权限;Linux/macOS用
ls -l /path/to/data.dat查看权限,确保权限位包含读权限(即带r)。
- Windows右键文件→属性→安全,确认当前用户有「读取」权限;Linux/macOS用
- 优化代码排查:
- 用
try-except捕获错误并打印详情,能帮你快速定位问题:def main(): try: with open('Lab09/data.dat', 'r') as file: # 后续读取逻辑写在这里 content = file.read() print(content) except Exception as e: print(f"错误详情:{e}") if __name__ == "__main__": main()
- 用
内容的提问来源于stack exchange,提问作者Sierra Spohn
相关产品推荐
相关产品推荐

