2014-02-17 80 views
0

我正在写一个函数,其中的文件夹是按照用户在python 2.6中提供的路径创建的。os.makedirs错误的Windows长路径名称处理

import os 
src = 'E:\\abc' #abc doesn't exist 
src = u"\\\\?\\" + src 
os.makedirs(src) 

我正在按照os.makedirs误差与给定的路径,如果文件夹名称是直接驱动器名称后“\\。\?”被添加到路径处理长路径:

exceptions.WindowsError :[错误123]文件名,目录名称或卷标语法不正确:u'\\'

如果未将u“\\?\”添加到路径中,则不会出现此错误。有没有办法解决这个错误?

在此先感谢。

+0

使您的问题清晰。你究竟想要做什么?这对windows而言并不合适。 – diffracteD

+0

我正在创建一个src由用户提供的文件夹。为了处理长路径,我在路径之前添加了u“\\\\?\\”。这是示例代码而不是实际功能。这适用于路径不同(如'E:\\ Music \\ abc'或'C:\\ Users \\ admin \\ Desktop \\ abc')。 – abhijit

回答

0

我以前有过这个问题(使用Python 2.5.4),我发现至少前缀为'\\\\?\\'的路径的根文件夹需要os.makedirs()才能使用。例如,如果您有os.makedirs('\\\\?\\' + r'C:\Test\Very\Very\long\path'),则至少必须存在“C:\ Test”。

现在,话虽如此,这似乎并不是Python 2.7.9中的一个问题,所以在解决这个问题的过程中可能会有一些改进。