如何从Windows上的python获取长文件系统路径

时间:2012-07-10 19:40:49

标签: python windows path

这给我一个简短的路径(DOS约定)(在Windows上):

import tempfile
tempDir = tempfile.mkdtemp()
print tempDir

Output >>> c:\users\admini~1\appdata\local\temp\tmpf76unv

注意admini~1

如何将此转换/转换为完整路径?例如C:\用户\管理员\应用程序数据...

2 个答案:

答案 0 :(得分:10)

请尝试以下代码(已更新):

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

答案 1 :(得分:6)

tempDir = win32file.GetLongPathName(tempDir)