Python: Accéder à Windows lecteur réseau mappé avec une URL connue, mais inconnu de la lettre de lecteur

Je suis en train d'écrire un script Python qui peuvent se déplacer et copier des fichiers sur un serveur Linux distant. Cependant, je ne peux pas supposer que tout le monde exécute le script (sur Windows) ont cartographié ce serveur pour la même lettre. Plutôt que de demander aux utilisateurs pour la bonne lettre, je veux simplement l'accès au serveur par le réseau de l'URL, l'une qui est la lettre de lecteur mappé. Ainsi, par exemple, si j'ai mappé l'URL du serveur

\\name-of-machine.site.company.com

Lecteur S:\, je veux accéder, par exemple, le fichier S:\var\SomeFile.txt dans une lettre de lecteur agnostique. J'ai regardé autour et la recommandation générale semble être d'utiliser la notation UNC:

f = open(r"\\name-of-machine.site.company.com\var\SomeFile.txt", "w")

Mais si j'essaie de cela, un IOError en disant: il n'y a aucun fichier ou répertoire. Si j'essaie, à l'aide de l'adresse IP du serveur à la place (pas l'adresse réelle, mais similaire):

f = open(r"\.1.123.149\var\SomeFile.txt", "w")

- Je obtenir, après une longue pause, un IO Erreur: "invalid mode ("w") ou un nom de fichier". Pourquoi ces notations ne fonctionne pas, et comment puis-je accéder à ce serveur (idéalement comme si c'était un disque local) par son URL?

L'adresse unc devrait fonctionner--il fonctionne très bien sur mon réseau. Mais si vous n'avez pas les autorisations correctes, alors vous aurez un IOError. Sonne comme un problème d'autorisations.

OriginalL'auteur dpitch40 | 2012-10-04