Удалить строки, содержащие определенную строку

Я пытаюсь прочитать текст из текстового файла, прочитать строки, удалить строки, которые содержат конкретную строку (в данном случае «плохие» и «непослушные»). Код, который я написал, выглядит так:

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()

Я написал так, но это не сработало.

Важно то, чтобы содержание текста было таким:

good baby
bad boy
good boy
normal boy

Я не хочу, чтобы на выходе были пустые строки. так не нравится

good baby

good boy
normal boy

а вот так:

good baby
good boy
normal boy

Что я должен изменить из моего кода выше?

Ответы на вопрос(6)

Ваш ответ на вопрос