【问题标题】:python win32 filename length workaroundpython win32文件名长度解决方法
【发布时间】:2010-08-24 10:35:43
【问题描述】:

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

有解决此问题的想法吗? (win32上的python 2.6)

【问题讨论】:

    标签: python windows


    【解决方案1】:

    对此最通用的方法是在路径前加上\\\\?\\ (reference)。请注意,这会禁用路径上的某些预处理,但不会禁用主要的 IMO。

    我还注意到,在带有 Python 2.7 的 32 位 Windows Server 2003 上,我必须使用前缀 Unicode 路径(u"\\\\\\\\?\\\\" 前缀或 ur"\\\\?\\"),因为(如 reference 中所述)非 Unicode API 函数可能即使使用了前缀,长度仍被限制为MAX_PATH

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

    【讨论】:

    • 我怎样才能对像 //files/longpath/longpath/longpath 这样的长网络路径做同样的思考?
    • @olituks 使用前缀“\\?\UNC\”
    【解决方案2】:

    Windows 操作系统级别的解决方案是使用 DOS SUBST 命令在特定目录定义伪驱动器。

    SUBST Q: C:\really\long\path\name\full\of\sub\directories
    

    然后您可以以Q:filename 的身份访问该目录中的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-30
      • 1970-01-01
      • 1970-01-01
      • 2022-01-03
      • 2015-01-24
      • 1970-01-01
      相关资源
      最近更新 更多