Python中文件实际存在却提示File not found的问题求助
我太懂这种明明VSCode能直接点开文件路径、打印出来的路径也看着没问题,但Python就是报错找不到文件的憋屈感了。结合你的情况,给你几个实用的排查和解决方向:
确认Python的当前工作目录
有时候VSCode的工作区目录和Python实际运行时的工作目录并不是同一个。你可以在代码开头加上这两行,看看Python当前在哪个目录下找文件:import os print("Python当前工作目录:", os.getcwd())如果输出的目录和你的
BASE_FOLDER不一致,那Python会在自身当前工作目录下寻找DATA.txt,自然找不到目标文件。这时候你可以用os.chdir(BASE_FOLDER)切换到目标目录后,再执行加载操作。改用更可靠的路径拼接方式
直接用字符串加号拼接路径很容易因为分隔符、多空格之类的小细节出问题,推荐用Python内置的路径处理工具:
👉 用os.path.join(兼容所有Python版本):import numpy as np import os BASE_FOLDER = 'C:\\path\\' BASE_NAME = 'DATA.txt' fname = os.path.join(BASE_FOLDER, BASE_NAME) data = np.loadtxt(fname)👉 用更现代的
pathlib(Python 3.4及以上版本推荐):import numpy as np from pathlib import Path BASE_FOLDER = Path('C:\\path\\') BASE_NAME = 'DATA.txt' fname = BASE_FOLDER / BASE_NAME data = np.loadtxt(fname)这两种方式都会自动处理不同操作系统的路径分隔符,彻底避免手动拼接的潜在错误。
检查文件的真实名称
Windows默认会隐藏已知文件的扩展名,有时候你看到的DATA.txt实际可能是DATA.txt.txt(比如保存文件时不小心重复添加了扩展名)。你可以打开文件资源管理器,开启「显示文件扩展名」选项,确认文件的真实名称和代码里的BASE_NAME完全一致。另外也要留意文件名的大小写,虽然Windows系统不区分,但少数情况下Python会因为大小写不匹配触发找不到文件的错误。排查目录权限问题
如果你的文件放在系统受保护的目录(比如C:\Program Files),Python可能没有读取该目录文件的权限。这种情况下,你可以右键VSCode图标,选择「以管理员身份运行」,再重新执行代码试试。
内容的提问来源于stack exchange,提问作者Enzo




