Partage
  • Partager sur Facebook
  • Partager sur Twitter

Utilisation de regex

Pour récupérer une chaine de carac

    25 août 2010 à 8:50:41

    Bonjour,

    J'ai une fonction

    def sec():
    key = _winreg.OpenKey (_winreg.HKEY_LOCAL_MACHINE, '\SOFTWARE\blabla\inventaire\00BlablA069',0, _winreg.KEY_READ)
    (keyvalue,typevalue) = _winreg.QueryValueEx(key,'DisplayVersion')
    _winreg.Close(key)

    Je dois récupérer la clef qui correspond à '00Bblabla069' (le dossier et la clef ont le même nom)pour l'afficher pas la suite avec d'autre infos.

    L'autre solution consiste à aller regarder dans fichier log situé sur le disque qui contient le fameux '00BlaBla069'. Le nom du fichier de log change également (porte le même nom que la clef,mais il en existe également un autre. ex :
    00blabla069_bidule.txt et 00blabla069truc.txt.

    Et seul une ligne dans bidule m'intéresse.

    Le 'Blabla' est fixe, seul '00' et '069' ne sont pas fixes et peuvent changer dans le temps.

    Quelle est la solution la plus optimale et comment y remédier. ?

    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      25 août 2010 à 10:07:52

      Bonjour,

      import re
      def is_the_wanted_filename(filename, key):
          return re.match("^[0-9]+%s[0-9]+$" % key)
      


      Cordialement,
      ProgVal
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        25 août 2010 à 10:23:00

        Progval, tu as juste mis ton pattern ;)

        def is_the_wanted_filename(filename, key):
            f=open(filename, 'r')
            data=f.read()
            found=re.match("^[0-9]+%s[0-9]+$" % key, data) #repond un objet match ou None si pas trouvé.
            if found!=None:
                found.group() # ca je suis plus sûr, mais il me semble que c'est ça
        




        • Partager sur Facebook
        • Partager sur Twitter

        Utilisation de regex

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown