Python使用open()打开txt文件遇FileNotFoundError问题求助
解决Python
FileNotFoundError 问题的实用排查步骤 1. 先确认程序的实际工作目录
直接在代码里加一行打印当前工作路径的代码,就能知道程序到底在哪个文件夹找文件:
import os print(os.getcwd()) # 输出当前工作目录 with open('movies.txt') as file_object: contents = file_object.read() print(contents.strip())
运行后把movies.txt放到输出的那个路径里,再试一次。另外在VS Code里,右键代码文件选「在集成终端中打开」再运行代码,能保证终端工作目录和代码文件一致。
2. 检查文件名的隐藏后缀
记事本默认会给文件加.txt后缀,如果保存时你手动输入了movies.txt,但系统隐藏了已知文件类型后缀,实际文件名可能是movies.txt.txt(显示出来还是movies.txt)。解决办法:
- 打开记事本,点「文件」→「另存为」,「保存类型」选「所有文件」,文件名输入
movies.txt再保存。
3. 用完整路径时注意格式
Windows系统里路径别直接写反斜杠,容易触发转义字符问题,两种正确写法:
- 用原始字符串(路径前加
r):with open(r'C:\你的文件夹路径\movies.txt') as file_object: contents = file_object.read() print(contents.strip()) - 用正斜杠代替反斜杠:
with open('C:/你的文件夹路径/movies.txt') as file_object: contents = file_object.read() print(contents.strip())
4. IDLE运行的正确姿势
IDLE直接新建窗口粘贴代码运行的话,工作目录可能不是代码文件所在的文件夹。正确做法是:在IDLE里打开你的代码文件,再点「运行」→「运行模块」,这样IDLE会自动切换到代码文件的目录。
关于VS Code设置
一般不用改全局设置,要是用「运行和调试」功能,可在launch.json里指定工作目录:
{ "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "cwd": "${fileDirname}" // 强制工作目录为当前代码文件所在文件夹 } ] }
内容的提问来源于stack exchange,提问作者Stan
相关产品推荐
相关产品推荐

