这个问题与this one非常相似,但是对于Python而不是powershell。 here和here也对此进行了讨论,但未发布任何有效的解决方案。
那么,有没有一种方法可以在Python中创建一个绕过Windows 260字符数限制的目录?我尝试了多种\\?\
开头的方式,但是无法使其正常工作。
尤其是以下最明显的代码
path = f'\\\\?\\C:\\{"a"*300}.txt'
open(path, 'w')
由于错误而失败
OSError: [Errno 22] Invalid argument: '\\\\?\\C:\\aaaaa<...>aaaa.txt'
答案 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')