Bonjour à tous,

J'ai un probleme bête (encore) d'expression réguliere ..

Je veux parser un fichier genbank pour en recuperer entre autre la taxonomie.
Or comme celle-ci se trouve sur plusieurs lignes les codes les autres codes ne marchent pas..

Donc pour celui-là je recupere l'entree en XML .

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
        handle = Entrez.efetch(db = "Nucleotide", id=identifiant, rettype="xml")
        result = handle.read()
        print  result
J'obtiens un truc du style :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
 
...
 
                        </OrgName_mod>
                        <OrgName_lineage>Eukaryota; Metazoa; Arthropoda; Hexapoda; Insecta; Pterygota; Neoptera; Endopterygota; Hymenoptera; Apocrita; Aculeata; Apoidea; Apidae; Apis</OrgName_lineage>
                        <OrgName_gcode>1</OrgName_gcode> ...
....
je voufrais recuperer tout ce qui est entre

<OrgName_lineage> et </OrgName_lineage>


J'essaye de faire qqch comme :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 
taxonomie = (re.search("<OrgName_lineage>([\w\s\n]+)",result)).group(1)
mais ça donne :

ou


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 
taxonomie = (re.search("<OrgName_lineage>([\w\s\n]+</OrgName_lineage>", result)).group(1)
et ça donne

AttributeError: 'NoneType' object has no attribute 'group'

Je ne sais pas comment faire ...

Est-ce que quelqu'un aurait une idee s'il vous plait?

Merci ppar avance.