Python3.9.8更新后Windows11下长路径文件无法打开如何解决?
解决方案
问题根因
该问题属于Python 3.9.8、3.10.0两个版本的Windows平台专属已知缺陷:上述版本的官方安装包在构建时意外关闭了长路径感知编译选项,因此即便Windows系统全局开启了长路径支持,Python进程也无法识别长度超过260字符的路径,最终触发文件不存在的报错。
可用解决办法
- 方案1:升级Python版本(最推荐)
该缺陷已在后续的补丁版本中完全修复,直接升级到Python 3.9.9、3.10.1或任意更高正式版本,即可正常继承系统的长路径支持配置,无需修改现有业务代码。 - 方案2:手动添加Windows长路径兼容前缀
如果暂时无法升级Python版本,可以给路径添加\\?\前缀,该前缀会强制Windows系统绕过路径长度校验。注意该前缀仅支持绝对路径,使用前需要先将相对路径转换为绝对路径,示例代码如下:
import os # 转换相对路径为绝对路径 abs_file_path = os.path.abspath('long/path/to/file.txt') # 拼接长路径兼容前缀 compatible_path = fr'\\?\{abs_file_path}' f = open(compatible_path)
- 方案3:批量适配路径逻辑
如果项目中存在大量长路径操作,可以封装统一的路径处理工具函数,自动为所有超过260字符的绝对路径添加兼容前缀,无需逐行修改现有路径调用代码。
内容的提问来源于stack exchange,提问作者dev135
相关产品推荐
相关产品推荐

