Estoy tratando de leer un texto de un archivo de texto, leer líneas, eliminar líneas que contienen una cadena específica (en este caso 'malo' y 'malo'). El código que he escrito es el siguiente:Eliminar líneas que contienen cierta cadena
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()
escribí como este, pero que no funcionó.
Una cosa importante es, si el contenido del texto era así:
good baby
bad boy
good boy
normal boy
no quiero que la salida tiene líneas vacías. por lo que no les gusta:
good baby
good boy
normal boy
pero como esto:
good baby
good boy
normal boy
¿Qué debo editar en mi código en lo anterior?
¿Por qué está reemplazando puntos con espacios en líneas que desea ignorar de todos modos? – geoffspear
@Wooble Quizás OP espera que sea una expresión regular, donde 'reemplace 'todas las apariciones de' cualquier cosa' en 'línea' con' nada'. – jadkik94