J'utilise Python pour lire un fichier au format suivant:fichier Relocaliser en arrière plusieurs lignes (python)
iter1
iter2
iter3
[n lignes de choses]
FLAG = valeur
iter1
iter2
iter3
iter4
i ter5
[n lignes de choses]
FLAG = valeur
etc ....
Je veux à la recherche FLAG, lisez cette valeur, puis revenir en arrière en arrière par des lignes « n » et lire la valeur de l'itération finale. Notez qu'il n'y a pas toujours le même nombre d'itérations. Le nombre de lignes 'n' est cohérent dans chaque fichier; Toutefois, ces lignes peuvent contenir des nombres d'octets différents, ce qui me pose problème pour l'utilisation de la fonction de recherche.
Je voudrais faire quelque chose comme ceci:
f = open(file)
for i in f:
a = re.search('FLAG')
if a:
print a
spot=f.tell() #mark original spot
f.seek(-n,1) #rewind by n lines
b = re.search('iter')
print b
f.seek(spot) #return to FLAG line, continue to next data set
Pouvez-vous lire le fichier entier en mémoire ou est-il trop grand? –