IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

creation d'une clé dans la base de registre


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Par défaut [Résolu]creation d'une clé dans la base de registre
    Bonjour je debute en python, et parallelement à mon apprentissage
    à l'aide de "apprendre à programmer en Python", j'essaye de l'utiliser dans le cadre de mon boulot.

    J'essaye donc le script suivant:
    Pour info je souhaite créer une entrée dans la base de registres de Windows XP sur plusieurs postes.
    Les postes sont resneignés dans un fichier texte.

    Mon script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    import _winreg
     
    file = open("C:\sample.txt")
     
    for host in file.xreadlines():
        rReg = _winreg.ConnectRegistry(host, _winreg.HKEY_LOCAL_MACHINE)
        rKey = _winreg.CreateKey(rReg, 'Software\\monprogramme')
        _winreg.SetValueEx(rKey, 'test', 0, _winreg.REG_EXPAND_SZ, 'coucou !')
        _winreg.CloseKey(rReg)
    Là ou je bloque c'est que visiblement ma variable host n'est pas reprise dans ma boucle for.
    j'ai le message d'erreur suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Traceback (most recent call last):
      File "C:\APPLI\Python25\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript
        exec codeObject in __main__.__dict__
      File "C:\Downloads\download\Scripts\python\Script24.py", line 6, in <module>
        rReg = _winreg.ConnectRegistry(host, _winreg.HKEY_LOCAL_MACHINE)
    WindowsError: [Error 53] Le chemin réseau n'a pas été trouv
    Pourtant si je test le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    import _winreg
     
    file = open("C:\sample.txt")
     
    for host in file.xreadlines():
        print host
    je récupère bien à chaque "print" un poste différent.

    J'avoue que je seche un peu

  2. #2
    Membre confirmé Avatar de will97
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mars 2007
    Messages : 126
    Par défaut
    Esseye de faire une liste avec les different postes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    global list
    list = list()
    file = open("sample.txt")
    for line in file:
       list.append(line)
    for host in range(len(list)):
       print list[host]
       rReg = _winreg.ConnectRegistry(list[host], _winreg.HKEY_LOCAL_MACHINE)
       rKey = _winreg.CreateKey(rReg, 'Software\\monprogramme')
       _winreg.SetValueEx(rKey, 'test', 0, _winreg.REG_EXPAND_SZ, 'coucou !')
       _winreg.CloseKey(rReg)

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Par défaut Tout bête.....
    Il s'agissait en fait d'un simple problème avec la fin de ligne dans mon fichier texte:

    ca fonctionne avec le code ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    import _winreg
     
    src = open("C:\sample.txt", 'r')
     
    for strComputer in src.readlines():
        strComputer = strComputer.strip("\n")
        oReg = _winreg.ConnectRegistry(strComputer, _winreg.HKEY_LOCAL_MACHINE)
        oKey = _winreg.CreateKey(oReg, 'Software\\monprogramme')
        _winreg.SetValueEx(oKey, 'test', 0, _winreg.REG_EXPAND_SZ, 'coucou !')
        _winreg.CloseKey(oReg)

Discussions similaires

  1. VBS : creation d'une clé dans la base de registre
    Par parker13 dans le forum VBScript
    Réponses: 2
    Dernier message: 25/08/2006, 16h30
  2. [IE] Modifier une option dans la base de registre
    Par Oberown dans le forum Windows XP
    Réponses: 2
    Dernier message: 16/06/2006, 08h53
  3. Chercher une valeur dans la base de registre
    Par Sallie dans le forum MFC
    Réponses: 9
    Dernier message: 19/05/2006, 12h57
  4. Réponses: 2
    Dernier message: 15/03/2006, 10h13
  5. Lire une donnée dans la base de registre
    Par K.othmane dans le forum Langage
    Réponses: 1
    Dernier message: 06/01/2006, 11h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo