Entfernen Sie Linien, die bestimmte Zeichenfolge enthalten
Ich versuche, einen text Lesen aus einer text-Datei, Lesen von Zeilen löschen von Zeilen, die bestimmte Zeichenfolge (in diesem Fall 'schlecht' und 'naughty').
Der code, den ich schrieb geht so:
infile = file('./oldfile.txt')
newopen = open('./newfile.txt', 'w')
for line in infile :
if 'bad' in line:
line = line.replace('.' , '')
if 'naughty' in line:
line = line.replace('.', '')
else:
newopen.write(line)
newopen.close()
Schrieb ich gerne, aber es funktioniert nicht.
Eine Sache, die wichtig ist, wenn der Inhalt der text war so:
good baby
bad boy
good boy
normal boy
Ich nicht wollen, dass die Ausgabe nach leeren Zeilen.
nicht so wie:
good baby
good boy
normal boy
aber so:
good baby
good boy
normal boy
Was soll ich Bearbeiten aus meinem code auf die oben genannten?
Warum sind Sie ersetzt Punkten mit Leerzeichen in den Zeilen, die Sie wollen, zu ignorieren und trotzdem?
Vielleicht OP erwartet, die zu einem regulären Ausdruck, wo er hätte
Vielleicht OP erwartet, die zu einem regulären Ausdruck, wo er hätte
replace
alle vorkommen von anything
im line
mit nothing
.InformationsquelleAutor H.Choi | 2012-08-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Ihren code einfacher und besser lesbar, wie diese
mit einem Kontext-Manager und jeder.
InformationsquelleAutor sloth
Konnte Sie einfach nicht die Zeile in die neue Datei, anstatt das zu tun, ersetzen.
ich denke, "und" ist richtig
ich möchte die Zeilen, die nur mit einem schlechten oder naghuty werden ebenfalls gelöscht. welche ist die richtige..?
Es ist entweder
not ('bad' in line or 'naughty' in line)
odernot 'bad' in line and not 'naughty' in line
, soand
hier sollte richtig sein.InformationsquelleAutor Maksim Skurydzin
Habe ich diese verwendet, um unerwünschte Wörter aus text-Dateien:
Nicht oder nicht das gleiche für alle Dateien in einem Verzeichnis:
Ich bin sicher, es muss eine elegantere Art und Weise, es zu tun, aber das Tat was ich wollte.
InformationsquelleAutor Alistair
Den
else
ist nur angeschlossen, um die letztenif
. Sie möchtenelif
:Beachten Sie auch, dass ich entfernt die Zeile substitution, wie Sie nicht schreiben, diese Zeilen trotzdem.
InformationsquelleAutor Some programmer dude
Heute brauchte ich dazu eine ähnliche Aufgabe also schrieb ich eine Zusammenfassung, die Aufgabe zu erfüllen, basierend auf einigen Recherchen habe ich.
Ich hoffe, dass jemand diese nützlich finden!
Link zu Gist: emailStripper.py
Besten,
Az
InformationsquelleAutor Cyb3rdude
Verwendung von python-textops Paket :
InformationsquelleAutor Eric
this is bad!
in der input-Datei.InformationsquelleAutor carpx