10 votes

Comment obtenir un long chemin d'accès au système de fichiers à partir de python sous Windows ?

Cela me renvoie un chemin court (convention DOS) (sous Windows) :

import tempfile
tempDir = tempfile.mkdtemp()
print tempDir

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

Remarquez le admini~1 .

Comment puis-je obtenir/convertir cela en un chemin d'accès complet ? par ex. C:\users\administrator\appdata...

10voto

Sudhir Krishnan Points 281

Veuillez essayer le code suivant (mis à jour) :

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

J'espère que cela vous aidera. Veuillez vous référer à http://mail.python.org/pipermail/python-win32/2008-January/006642.html

7voto

Andrew Points 395
tempDir = win32file.GetLongPathName(tempDir)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X