begin process at 2010 09 08 22:33:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Python

 > 

Divers

 > 

Débutant(e)

 > 

Importer la Base de registre windows en xml pour la réutiliser en xml.


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Importer la Base de registre windows en xml pour la réutiliser en xml.

jeudi 3 juin 2010 à 11:40:24 | Importer la Base de registre windows en xml pour la réutiliser en xml.

Psychokenshin

Bonjour à tous,

Je cherche donc à exporter ma base de registre windows dans un fichier xml et ce de façon à pouvoir l'utiliser facilement dans un dictionnaire python.

Pour cela j'ai essayé avec la librairie Os :

Code Python :
os.system ('regedit \E fichier.xml')


Seulement cela me retourne un fichier xml qui n'est pas facile d'importer dans un dictionnaire python.
Quels conseils pourriez vous me donner?

Merci.
PsychoKenshin.

mercredi 16 juin 2010 à 08:46:49 | Re : Importer la Base de registre windows en xml pour la réutiliser en xml.

Psychokenshin

Bonjour,
aucune réponse...
je me suis débrouillé comme j'ai pu, la j'en suis à avoir réussi àà extraire toutes les clés de la base dans un fichier texte que je lis avec une autre fonction dans un dictionnaire python.
Mon problème maintenant c'est que mes clés s'enregistrent dans un "format" PyHKEY, ainsi qu'avec les ruches qui s'affichent dans un format numérique.. ex:

Code XML :
2147483650\<PyHKEY:00000198>\<PyHKEY:0000019C>\VideoBiosDate:#:30322f30352f3230


Voici le code de mon programme:

Code Python :
#-*-coding:UTF-8-*-
import _winreg      # biblio d'autopsie de la base de registre
import os           # biblio de pilotage de l'os
import binascii     # bibilio de conversion

def ValueKey(key, sname, sParse):
    donnees = ""
    i = 0
    try:
        while True:
            tp = _winreg.EnumValue(key,i) 
            valuename = tp[0]
            valuedata = tp[1]
            valuetype = tp[2]
            if valuename == '':
                valuename = str(sParse) + 'Par defaut'
            else:
                valuename = str(sParse) + str(valuename)
            if valuedata == '':
                pass
            else:
                str(valuedata)
                
            if valuetype == 8  or valuetype == 9 or valuetype == 3 or valuetype == 1 : # si reponse illisible =>
                donnees +="\n" + str(valuename) + ":#:" + binascii.hexlify(str(valuedata)) # donnees == donnees convertis en hexa
            else:    
                donnees +="\n" + str(valuename) + ":#:" + str(valuedata) 
            i = i+1
    except EnvironmentError:
        pass
    except UnicodeEncodeError:
        pass
    fichier = open('Etat0.txt','a') 
    donnees = donnees[0:len(donnees)-1]
    fichier.write(donnees)
    fichier.close()         
    
    

def ParseRegister(sRucheName, sParse):
    bContinue = True
    index = 0
    while bContinue :
        try:
            sName = _winreg.EnumKey(sRucheName, index)
            # Ouverture de la sous clé afin de pouvoir la parser
            key = _winreg.OpenKey(sRucheName,sName,_winreg.KEY_READ) 
            sPath = str(sParse) + str(sRucheName) +os.sep
            ValueKey(key, sName, sPath)
            ParseRegister(key, sPath)
        except WindowsError,e:
            bContinue = False
        index +=1
   
    
##MaIN          
lRucheName = [_winreg.HKEY_LOCAL_MACHINE,_winreg.HKEY_CURRENT_CONFIG,_winreg.HKEY_CLASSES_ROOT,_winreg.HKEY_CURRENT_USER,_winreg.HKEY_USERS]
NbRuche = len(lRucheName)
cpt = 0
spath = ''
while cpt < NbRuche :
    NoRuche = lRucheName[cpt]
    print NoRuche
    ParseRegister(NoRuche, spath)
    cpt += 1


J'aurais donc besoin d'aide pour que les ruches s'affichent : HKEY_LOCAL_MACHINE, et que les sous clés qui menent au clés s'affichent de la même manière que lorsqu'on regarde la base de registre et non au format "PyHKEY:0000019C".
En espérant obtenir un peu plus d'aide!!
Merci à vous.


Cette discussion est classée dans : base, windows, xml, registre, importer


Répondre à ce message

Sujets en rapport avec ce message

XML Dom [ par MHI ] Voici un exemple et une petite explication sympathique que j'ai trouvé sure developpez.com traitant de XML et de l'API DOM :'Utilisation de l'API DOM utilisation de librairie binaire(dll sous windows et sous linux) [ par kollibar ] comment je peut faire pour créer une dll (en C ou C++ ) et utiliser ses fonctions  en python. je sais qu'il y a des contraintes sur l'écriture de la d interpreteur sous windows [ par arnohoho ] hello tous le monde voila je cherche un bon interpreteur python pour windowscomme certain ici programme deja depuis un certain temps il pourront certe le registre [ par kpoleau ] je cherche à modifier le registre windows en pythonquelqu'un peut-il m'aider ? instruction de base sous Python de transfert de fichiers [ par dgpgl ] Comment transferer des fichiers par xxx.jpeg depuis un PC windows sur une  machine linux... a l'adresse xxx.ccc.com qui est ouverte via un port ssh! a Ouverture d'un fichier windows (avec Tkinter) [ par Uims ] Bonjour, Je travaille sous python et Tkinter et j'aurai voulu savoir comment dire a python de demarrer (comme on clique sur un fichier) une applicati creer un executable python à faire fonctionner sous windows [ par marcus034 ] Bonjour, Nouvel utilisateur de python, je n'arrive pas à exécuter un script python  (créé sous idle de mandrake) sous windows. Comment concretement cr Importer une image dans Tkinter... [ par skools ] Bonjour à tous, Et pardon à ceux à qui j'ai envoyé des messages perso, je n'arrivais pas à poster un suget dans le forum... Voilà, après des heures d python debutant [ par supai ] print "début" # début procédure from os import chdir chdir("/Volumes/GERTEX/_test/") import shutil, string, re obfic = open("taglist.xml","r") # Le base de donnée [ par Thomeux ] Bonjour,Je débute en python, je programmais jusqu'ici en vb.J'ai un programme en vb qui utilise les données d'un tableau double entrées Excel.L'ennui,


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,640 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales