Python 3出现[Errno 13] Permission denied无法打开文件问题求助
IOError: [Errno 13] Permission denied 问题排查方案
未覆盖的常见排查步骤
你已经尝试了常规的权限修改、管理员运行、路径更换等操作,可按以下顺序排查剩余高频诱因:
- 排查文件占用状态:Windows 系统下文件被其他进程锁定时会直接返回权限错误,先关闭所有可能打开该文件的软件(Excel、WPS、文本编辑器、数据处理工具等),临时暂停OneDrive、百度云等同步工具的同步任务,关闭杀毒软件实时防护后再运行代码测试。
- 确认文件真实名称:Windows 默认隐藏已知文件扩展名,你看到的
codedata.tsv可能实际名为codedata.tsv.txt,可在文件资源管理器顶部「查看」选项卡中勾选「文件扩展名」,核对文件实际名称与代码中路径完全匹配。 - 清理残留Python进程:之前运行的代码如果异常退出没有释放文件句柄,会导致后续访问被拒绝,打开任务管理器杀掉所有
python.exe/pythonw.exe进程,重启Spyder后再运行代码。 - 修复文件夹权限继承:单独修改单文件权限可能不生效,右键
E:\Paper文件夹,依次选择「属性-安全-高级」,勾选「替换所有子对象权限条目」,确认当前登录用户对该文件夹有「读取/写入」权限后再尝试。
快速验证脚本
你可以先运行以下测试代码定位问题:
import os target_path = r"E:\Paper\codedata.tsv" # 检查路径是否存在 print("路径是否存在:", os.path.exists(target_path)) # 检查当前进程是否有读权限 print("是否可读:", os.access(target_path, os.R_OK))
如果输出路径是否存在:False,说明路径拼写和实际文件路径不一致;如果是否可读:False,再回到上述权限、占用相关步骤排查。
内容的提问来源于stack exchange,提问作者Pankaj Garg
相关产品推荐
相关产品推荐

