Esto me de una ruta corta (convención DOS) (en Windows) devuelve.Como llegar ruta del sistema de archivo largo de Python en Windows
¿Cómo puedo obtener/convertir esto en una ruta completa? p.ej. C: \ Users \ administrador \ AppData ...
Esto me de una ruta corta (convención DOS) (en Windows) devuelve.Como llegar ruta del sistema de archivo largo de Python en Windows
¿Cómo puedo obtener/convertir esto en una ruta completa? p.ej. C: \ Users \ administrador \ AppData ...
Inténtelo el siguiente código (actualizado):
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
Espero que esto ayude. Consulte http://mail.python.org/pipermail/python-win32/2008-January/006642.html
Posible respuesta también está disponible en http://stackoverflow.com/questions/1587816/is-it-possible-to-access-the-getlongpathname-win32-api-in-python –
Hace el truco. ¡Gracias! –
tempDir = win32file.GetLongPathName(tempDir)
@Levon Probé varios métodos en 'os.path' pero nada lo hacía por mí. –
@AndyArismendi ¿por qué necesitas la ruta completa? –
@AshwiniChaudhary para mis propósitos estoy solucionando un problema con un módulo de terceros y quería abrir caminos completos, pero no encontré la forma "integrada" para obtener el camino largo, aunque podría haber otras razones por las que uno podría querer esto: 1) visualización de rutas, 2) cuando [Windows 8.3 Name Creation está deshabilitada] (http://support.microsoft.com/kb/121007). –