This returns me a short path (DOS convention) (on Windows):
import tempfile
tempDir = tempfile.mkdtemp()
print tempDir
Output >>> c:\users\admini~1\appdata\local\temp\tmpf76unv
Notice the admini~1
.
How can I get/convert this to a full path? e.g. C:\users\administrator\appdata...
Please try the following code (updated):
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
Hope this helps. Please refer to http://mail.python.org/pipermail/python-win32/2008-January/006642.html
tempDir = win32file.GetLongPathName(tempDir)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With