Ich schreibe gerade ein kleines Python-Programm zum Manipulieren von Textdateien. (Ich bin ein newb Programmierer)Python-Variable m.start() von re.finditer wird nicht überschrieben
Zuerst verwende ich re.finditer, um eine bestimmte Zeichenfolge in lines1 zu finden. Dann schreibe ich das in eine Datei und schließe sie. Als nächstes möchte ich die erste Zeile greifen und in einer anderen Textdatei danach suchen. Das erste Mal mit re.finditer funktionierte es großartig.
Das Problem ist: m.start() gibt immer den letzten Wert des ersten m.Start zurück. Es wird nicht überschrieben, da es das erste Mal mit re.finditer war.
Können Sie mir helfen, warum zu verstehen?
mein Code:
for m in re.finditer(finder1,lines1):
end_of_line = lines1.find('\n',m.start())
#print(m.start())
found_tag = lines1[m.start()+lenfinder1:end_of_line]
writefile.write(found_tag+'\n')
lenfinder2 = len(found_tag)
input_file3 = open ('out.txt')
writefile.close()
num_of_lines3 = file_len('out.txt')
n=1
while (n < num_of_lines3):
line = linecache.getline('out.txt', n)
n = n+1
re.finditer(line,lines2)
#print(m.start())
Sorry, ich habe versehentlich "line =" gelöscht :(Es ist in meinem Code, aber m.start funktioniert nicht. – eckhart
ok lass mich nochmal überprüfen dann –
bekommst du korrekte Ausgabe beim Ausdruck 'line'? –