python win32文件名长度解决方法

时间:2010-08-24 10:35:44

标签: python windows

我发现,当文件路径长度大于255个字符时,即使文件名本身长度为10个字符(其余部分是目录路径),也不能open(filepath)

有什么想法解决这个问题吗? (win32上的python 2.6)

2 个答案:

答案 0 :(得分:12)

最常见的方法是在路径前加上\\\\?\\reference)。请注意,这会禁用路径上的某些预处理,但没有任何重要的IMO。

另外我可以注意到,在使用Python 2.7的32位Windows Server 2003上,我必须使用前缀Unicode路径(u"\\\\\\\\?\\\\"前缀或ur"\\\\?\\"),因为(如reference中所述)即使使用了前缀,非Unicode API函数仍可能限制为MAX_PATH长度。

例如,ur"\\\\?\\c:\temp\....\abc.txt"

答案 1 :(得分:0)

Windows操作系统级解决方案是使用DOS SUBST命令在特定目录中定义伪驱动器。

SUBST Q: C:\really\long\path\name\full\of\sub\directories

然后您可以访问该目录中的文件Q:filename