Bonjour,

J'ai un soucis et j'aimerai savoir si il existe une solution rapide.

Fichier utilisé :

tarataratartaratar
tar tar atar tarat
etc...
Static Molecule :: /home/teteteraraetar/raertaer.ligand.pdb
Mobile Molecule :: /home/teteteraraetar/raertaer.ligand.pdb

etc... beaucoup beaucoup de ligne ....


Je dois scanner les adresses en face de Static et Mobile molécule et vérifier qu'elles ne dépassent pas 60 caractères le cas échéant je changerai celle ci.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
        file = open("monfichier","r")
        data = file.read()
        #file.close()
 
        address_rec = re.compile("Static molecule (.*?)\n").findall(data)[0].split("::")[1].strip()
        address_lig = re.compile("Mobile molecule (.*?)\n").findall(data)[0].split("::")[1].strip()
 
 
        if 1:#(len(address_rec)>=60) and (len(address_lig)>=60):
            data_line = file.readlines()
            print data_line
            for i in data_line:
 
                if re.search("^Static molecule",i):
                    print "Static molecule                    :: %s"%(nouvelle adress) # TODO ecriture fichier
                else:
                      pass # TODO ecriture du fichier
Le soucis c'est que je peux pas faire un second readlines sur mon objet file. Certes je pourrai l'ouvrir 2 fois mais je voulais savoir si il existe une autre solution.
Et est ce que mon code est optimal pour ce genre d'opération.
Merci pour votre aide,

Mister