Je suis en train d'écrire un script pythonRejoindre enregistrements sur Fichier de plusieurs lignes en fonction de critères
qui prend des données d'enregistrement comme celui-ci
6xxxxxxxx
7xxxxxxxx
6xxxxxxxx
7xxxxxxxx
7xxxxxxxx
6xxxxxxxx
6xxxxxxxx
6xxxxxxxx
7xxxxxxxx
7xxxxxxxx
7xxxxxxxx
et effectue la logique suivante
newline = ""
read in a record
if the record starts with a 6 and newline = ''
newline = record
if the records starts with a 7
newline = newline + record
if the record starts with a 6 and newline != ''
print newline
newline = record
Alors il devrait imprimer comme ceci:
6xxxxxx 7xxxxxxxx
6xxxxxx 7xxxxxxxx 7xxxxxxx 7xxxxxxx
6xxxxxx
6xxxxxx
etc..
Voici mon code:
han1 = open("file","r")
newline = ""
for i in han1:
if i[0] == "6" and newline == "":
newline = i
elif i[0] == "7":
newline = newline + i
elif i[0] == "6" and newline != "":
print newline
newline = ""
newline = i
han1.close()
Quand je lance mon script la sortie semble intacte. Où pensez-vous que je me trompe? Est-ce parce que la variable de nouvelle ligne ne stocke pas de valeurs entre les itérations de la boucle? Toute orientation serait appréciée.