En utilisant ctypes
et le code indiqué dans la première réponse dans ce post: Get full computer name from a network drive letter in python, il est possible d'obtenir les chemins d'entraînement pour chaque lecteur réseau, ou quelques sélectionnés.
La fonction get_connection
donnée jetteront une erreur si le lecteur est pas un lecteur réseau, que ce soit des lecteurs locaux ou amovibles, cela peut être pris en compte avec
# your drive list
available_drives = ['%s:' % d for d in string.ascii_uppercase if os.path.exists('%s:' % d)]
for drive in available_drives:
try:
# function from linked post
print(get_connection(drive))
except WindowsError: # thrown from local drives
print('{} is a local drive'.format(drive))
Note: Je n'ai pas essayé d'exécuter cela. https://docs.python.org/2/library/os.path.html Sur la base de ceci, "Note sur Windows, beaucoup de ces fonctions ne supportent pas correctement les noms de chemins UNC: splitunc() et ismount() les gèrent correctement ". os.path.splitunc (chemin) Divise le chemin du chemin en une paire (unc, rest) de sorte que unc soit le point de montage UNC (tel que r '\\ host \ mount'), s'il est présent, et repose le reste du chemin (tel que r '\ path \ file.ext'). Pour les chemins contenant des lettres de lecteur, unc sera toujours la chaîne vide. – prashanth
Essayez la bibliothèque suivante dans l'article du blog. http://developer.covenanteyes.com/unc-paths-with-python/ Le lien vers la bibliothèque http://covenanteyes.github.io/py_win_unc/ – prashanth
fait un moment que je l'ai fait, mais iirc la façon dont j'ai trouvé est d'appeler 'net show' (sp?) et d'analyser la sortie ... ne pas avoir de machines Windows à proximité pour l'essayer maintenant ... –