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 replace alle vorkommen von anything im line mit nothing.

InformationsquelleAutor H.Choi | 2012-08-15

Schreibe einen Kommentar