10

これは、短いパス (DOS 規則) を返します (Windows の場合):

import tempfile
tempDir = tempfile.mkdtemp()
print tempDir

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

に注意してadmini~1ください。

これをフルパスに取得/変換するにはどうすればよいですか? 例 C:\users\administrator\appdata...

4

2 に答える 2

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を参照してください

于 2012-07-10T20:03:44.513 に答える
7
tempDir = win32file.GetLongPathName(tempDir)
于 2014-09-25T05:26:21.063 に答える