1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import re
expr = "^[a-zA-Z]+ dit: " #expression régulière: début de réplique
fd = open("monfichier.txt") #on ouvre le fichier
repliques = [] #liste des répliques
replique_prec = "" #réplique précédente
while True: #boucle infinie
l = fd.readline() #on lit une ligne
if not l.endswith("\n"): #s'il n'y a plus de saut de ligne, on est à la fin du fichier
break #on quitte la boucle
if re.match(expr, l) is not None and replique_prec != "": #si on a affaire à une nouvelle réplique et que l'ancienne est vide
repliques.append(replique_prec.strip()) #on ajoute la réplique à la liste, en enlevant les espaces au début et à la fin
replique_prec = l #on sauvegarde la nouvelle réplique
else: #si ce n'est pas une nouvelle réplique ou si la précédente est vide
replique_prec += l #on ajoute la ligne supplémentaire à la réplique
if replique_prec != "": #s'il reste une réplique à ajouter à la liste
repliques.append(replique_prec.strip()) #on l'ajoute
fd.close() #on ferme le fichier |