Usuń linie zawierające określony ciąg
Próbuję odczytać tekst z pliku tekstowego, czytać wiersze, usuwać wiersze zawierające określony ciąg (w tym przypadku „zły” i „niegrzeczny”). Kod, który napisałem, wygląda tak:
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()
Pisałem tak, ale to nie działa.
Ważne jest, jeśli treść tekstu była taka:
good baby
bad boy
good boy
normal boy
Nie chcę, aby dane wyjściowe zawierały puste linie. więc nie lubię:
good baby
good boy
normal boy
ale tak:
good baby
good boy
normal boy
Co powinienem edytować z mojego kodu na powyższym?