Intereting Posts
MYSQL отличается в Output from script отладка длинного сценария PHP PHP Предупреждение: запуск PHP: недопустимая библиотека (возможно, не библиотека PHP) В Java 8, как мне получить свое имя хоста без жесткого кодирования в моей среде? Использование mod_rewrite с китайскими символами в Apache WebSockets Over SSL с ошибкой рукопожатия Nginx Нужно знать, как установить gdb в Linux-машине «Javac» работает неправильно в Windows 10 Есть ли способ перенаправить ONLY stderr на stdout (не объединить два), чтобы он мог быть передан в другие программы? поиск .CSV-файл с AWK – работает только с первой строкой Как узнать, есть ли у пользователя права администратора или нет? Проблемы с компоновщиком в Ubuntu 11.10 открытие windows без заголовка с win32 Как обрабатывать огромные текстовые файлы, содержащие символы EOF / Ctrl-Z, используя Python в Windows? nginx: запустить rails / пассажирские и wordpress с помощью подпапки permalinks

Как получить длинный путь файловой системы от python в Windows

Это возвращает мне короткий путь (соглашение DOS) (в Windows):

import tempfile tempDir = tempfile.mkdtemp() print tempDir Output >>> c:\users\admini~1\appdata\local\temp\tmpf76unv 

Обратите внимание на admini~1 .

Как я могу получить / преобразовать это в полный путь? например C: \ users \ administrator \ appdata …

Попробуйте следующий код (обновлено):

 from ctypes import create_unicode_buffer, windll BUFFER_SIZE = 500 buffer = create_unicode_buffer(BUFFER_SIZE) get_long_path_name = windll.kernel32.GetLongPathNameW get_long_path_name(unicode(short_path_name), buffer, BUFFER_SIZE) long_path_name = buffer.value 

Надеюсь это поможет. См. http://mail.python.org/pipermail/python-win32/2008-January/006642.html.

 tempDir = win32file.GetLongPathName(tempDir)