这与这个问题非常相似: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'
感谢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')
UNICODE_STRING
计算字符串类型的限制,最终解析的路径可能会有一些字符留给最后确定的路径(例如“C:”->“\ Device \ HarddiskVolume2”)。但是,文件和目录名称的长度受到文件系统的限制。几乎所有支持的文件系统都将其限制为255个字符。请参阅文件系统功能比较。 - Eryk Sun