Python中文件存在却触发FileNotFoundError的解决咨询
Python中文件存在却触发FileNotFoundError的解决咨询
嘿,我来帮你排查这个问题!从你给出的代码和错误信息来看,问题其实很明确,咱们一步步来拆解:
首先看你的代码片段:
file_path = "C:/Users/user/Desktop/" filename = "Extremely.Wicked.Shockingly.txt"
但报错的代码行是:
with open(os.path.join(file_path, "Extremely.Wicked.Shockingly.srt"), "r") as f:
错误信息显示找不到的文件是:
FileNotFoundError: [Errno 2] No such file or directory: 'C:/Users/user/Desktop/Extremely.Wicked.Shockingly.srt'
核心问题:文件名后缀不匹配
你定义的filename变量是.txt后缀的文件,但代码里硬编码打开的是.srt后缀的文件!而你实际存在的是.txt文件,自然找不到.srt的那个。
具体解决方法
方法一:统一文件名和代码中的后缀
要么把你的文本文件重命名为Extremely.Wicked.Shockingly.srt,要么把代码里的文件名改成和实际一致的.txt版本。方法二:使用变量代替硬编码(更推荐)
既然你已经定义了filename变量,直接在open函数里用上它,这样后续修改文件名时只需要改一处,不容易出错:with open(os.path.join(file_path, filename), "r") as f:
额外排查点(如果上述方法没解决)
- 确认文件的真实路径:有时候桌面文件可能同步到OneDrive,实际路径会变成
C:/Users/user/OneDrive/Desktop/,右键点击文件→属性,查看“位置”栏确认真实路径是否和代码里的file_path一致。 - 检查文件名的大小写:虽然Windows系统文件名不区分大小写,但极少数情况下如果文件名有大小写差异(比如实际是
extremely.wicked...而代码里是Extremely.Wicked...),也可能导致识别问题,建议保持完全一致。 - 检查是否有隐藏后缀:Windows默认会隐藏已知文件的后缀,比如你看到的
Extremely.Wicked.Shockingly.txt可能实际是Extremely.Wicked.Shockingly.txt.txt(因为后缀被隐藏了)。可以在文件夹选项里开启“显示文件扩展名”来确认。
备注:内容来源于stack exchange,提问作者sara mohebtash




