Я обнаружил, что вы не можете открыть (filepath)
, когда длина пути к файлу превышает 255 символов, даже если само имя файла имеет длину 10 символов (оставшаяся часть - это каталог путь).
Есть идеи обойти эту проблему? (python 2.6 на win32)
Самый общий подход к этому - добавить к пути префикс \\\\? \\
( ссылка ). Имейте в виду, что это отключает определенную предварительную обработку на пути, но ничего серьезного IMO.
Также я могу отметить, что на 32-битной Windows Server 2003 с Python 2.7 мне приходилось использовать префиксный путь Unicode ( u "\\\\\\\\? \\\\"
префикс или ur "\\\\? \\"
), поскольку (как указано в справочнике ) функции API, отличные от Unicode, могут по-прежнему ограничиваться длиной MAX_PATH
, даже если используется префикс.
например, ur "\\\\? \\ c: \ temp \ .... \ abc.txt"
Решение на уровне ОС Windows заключается в использовании команды DOS SUBST для определения псевдодиска в определенном каталоге.
SUBST Q: C:\really\long\path\name\full\of\sub\directories
Затем вы можете получить доступ к файлам в этом каталоге как Q: filename
.