Python sous windows : meilleur moyen pour connecter un lecteur reseau?

Python sous windows : meilleur moyen pour connecter un lecteur reseau? - Python - Programmation

Marsh Posté le 30-04-2004 à 10:36:50    

Bonjour,
avez vous une solution simple pour mapper un lecteur réseau sous windows ?
j'ai essayé un os.system('net use ....') mais ne sait pas comment récupérer le résultat de la commande ( y a t'il eu une erreur ou pas ?)
j'ai également regardé du côté de win32all et du module win32wnet mais ca me semble un peu trop hard pour ce que je veux.
 
Ce que je souhaiterai c'est un commande à laquelle je passe en parametre une adresse ip un nomde partage un nom et pass utilisateur
la commande verifie le nom local à attribuer (z: w: etc ....) et tente de connecter le lecteur réseau puis me retourne si il y a eu une erreur ou pas => ca existe ca ??
 
Merci

Reply

Marsh Posté le 30-04-2004 à 10:36:50   

Reply

Marsh Posté le 30-04-2004 à 12:51:36    

prend win32all quand même, ca ira mieux qu'un net use
 
sinon pour le resultat de la commande, utilise popen

Reply

Marsh Posté le 30-04-2004 à 15:39:06    

ok merci donc avec win32wnet je peux faire un truc du style  


#connecter lecteur réseau  
win32wnet.WNetAddConnection2(1,'q:','\\\\10.110.1.12\d$',None)
 
#déconnecter
win32wnet.WNetCancelConnection2('q:', 0, 0)


c'est cool !

Reply

Marsh Posté le 03-05-2004 à 10:08:50    

j'ai trouvé ça pour trouver automatiquement la lettre du lecteur réseau à utiliser :


for self.lettre in ['d:','e:','f:','g:','h:','i:','j:','k:','l:','m','n','o','p','q','r','s','t','u','v','w','x','y','z']:
                if self.lr!=1:
                    print "test lecteur libre",self.lettre
                    self.lettrepath=self.lettre+'\\'
                    if not os.path.isdir(self.lettrepath):
                        self.lecteurcible=self.lettre
                        self.lr=1
                        print "lecteur libre :",self.lettre
                    else:
                        print 'lecteur occupé',self.lettre
 
try:
                 win32wnet.WNetAddConnection2(1,self.lecteurcible,self.destination,None,self.splitcible[3],self.splitcible[4])
                 except Exception,e:
                      print e
                      return -1

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed