在Python中创建路径长度超过260个字符的目录

时间:2018-11-08 10:32:29

标签: python-3.x windows filesystems

这个问题与this one非常相似,但是对于Python而不是powershell。 herehere也对此进行了讨论,但未发布任何有效的解决方案。

那么,有没有一种方法可以在Python中创建一个绕过Windows 260字符数限制的目录?我尝试了多种\\?\开头的方式,但是无法使其正常工作。

尤其是以下最明显的代码

path = f'\\\\?\\C:\\{"a"*300}.txt'
open(path, 'w')

由于错误而失败

OSError: [Errno 22] Invalid argument: '\\\\?\\C:\\aaaaa<...>aaaa.txt'

1 个答案:

答案 0 :(得分:2)

由于eryksun,我意识到我试图创建一个名称太长的文件。经过一些实验,这就是在Windows上创建一个超过260个字符的路径的方法(如果文件系统允许的话):

from pathlib import Path

folder = Path('//?/c:/') / ('a'*100) / ('b'*100)
file = folder / ('c' * 100)

folder.mkdir(parents=True, exist_ok=True)
file.open('w')