Python读取CSV遇FileNotFoundError:文件存在却无法访问的解决求助
解决Python读取含非ASCII字符路径CSV的FileNotFoundError问题
针对你遇到的问题——路径包含西里尔字母(俄文用户名)导致文件找不到(即使文件实际存在),可尝试以下几种解决方案:
使用
pathlib模块处理路径
Python的pathlib对非ASCII路径兼容性更好,能自动处理编码问题,替代字符串路径:from pathlib import Path import pandas as pd # 构建路径对象 file_path = Path('C:/Users/Пользователь/Downloads/Train_rev1.csv') # 读取文件 data = pd.read_csv(file_path, encoding='cp1252')也可调用
resolve()方法确保路径是绝对且规范化的:file_path = Path('C:/Users/Пользователь/Downloads/Train_rev1.csv').resolve()使用Windows短路径替代
Windows对含特殊字符的文件夹/文件会生成短名称,可通过命令行获取:- 打开命令提示符,进入
C:/Users目录,执行dir /x - 找到
Пользователь对应的短名称(类似USER~1) - 用短路径替换原路径:
data = pd.read_csv('C:/Users/USER~1/Downloads/Train_rev1.csv', encoding='cp1252')
- 打开命令提示符,进入
检查文件实际扩展名
确认文件不是被隐藏了扩展名(比如实际是Train_rev1.csv.txt):
打开文件夹选项,取消勾选「隐藏已知文件类型的扩展名」,查看真实文件名后再修改路径。验证Python版本
Python 3.6及以上版本对非ASCII路径的支持更完善,如果你的版本低于3.6,建议升级到较新版本。检查文件读取权限
右键文件→属性→安全,确认当前登录用户拥有该文件的读取权限,权限不足也可能导致类似“找不到文件”的错误。
内容的提问来源于stack exchange,提问作者RinHard
相关产品推荐
相关产品推荐

