python win32文件名长度解决方法

use*_*456 9 python windows

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

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

Luk*_*uke 15

最常见的方法是在路径前加上\\\\?\\(引用).请注意,这会禁用路径上的某些预处理,但没有什么主要的IMO.

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

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