Dado un archivo de texto, lea el contenido de ese archivo de texto línea por línea e imprima solo aquellas líneas que no comiencen con un prefijo definido. También almacene esas líneas impresas en otro archivo de texto. Existen las siguientes formas en que se puede realizar esta tarea:
Método 1: Usando bucle y comienza con().
En este método, leemos el contenido del archivo línea por línea. Mientras leemos, verificamos si la línea comienza con el prefijo dado, simplemente omitimos esa línea y la imprimimos. También almacene esa línea en otro archivo de texto.
Ejemplo 1:
Supongamos que el archivo de texto desde el que se deben leer las líneas se proporciona a continuación:
Python3
# defining object file1 to # open GeeksforGeeks file in # read mode file1 = open('GeeksforGeeks.txt', 'r') # defining object file2 to # open GeeksforGeeksUpdated file # in write mode file2 = open('GeeksforGeeksUpdated.txt', 'w') # reading each line from original # text file for line in file1.readlines(): # reading all lines that do not # begin with "TextGenerator" if not (line.startswith('TextGenerator')): # printing those lines print(line) # storing only those lines that # do not begin with "TextGenerator" file2.write(line) # close and save the files file2.close() file1.close()
Producción:
Ha sobrevivido no solo cinco siglos, sino también el salto a la composición tipográfica electrónica, permaneciendo esencialmente sin cambios.
Se popularizó en la década de 1960 con el lanzamiento de hojas de Letraset que contenían pasajes de TextGenerator y, más recientemente, con software de autoedición como Albus Potter, que incluía versiones de TextGenerator.
En el ejemplo anterior, abrimos un archivo y leemos su contenido línea por línea. Verificamos si esa línea comienza con el prefijo dado usando el método beginwith() . Si esa línea comienza con «TextGenerator» , omitimos esa línea, de lo contrario imprimimos la línea y la almacenamos en otro archivo. De esta forma, podríamos eliminar líneas que comienzan con el prefijo especificado.
Método 2: Usando Regex.
En este método usamos el módulo re de python que ofrece un conjunto de metacaracteres. Los metacaracteres son caracteres con un significado especial. Para eliminar líneas que comienzan con el prefijo especificado, usamos el metacarácter «^» (comienza con) .
También hacemos uso de la función re.findall() que devuelve una lista que contiene todas las coincidencias.
Python3
# importing regex module import re # defining object file1 to open # GeeksforGeeks file in read mode file1 = open('GeeksforGeeks.txt', 'r') # defining object file2 to open # GeeksforGeeksUpdated file in # write mode file2 = open('GeeksforGeeksUpdated.txt','w') # reading each line from original # text file for line in file1.readlines(): # reading all lines that begin # with "TextGenerator" x = re.findall("^Geeks", line) if not x: # printing those lines print(line) # storing only those lines that # do not begin with "TextGenerator" file2.write(line) # close and save the files file1.close() file2.close()
Producción:
forGeeksGeeks
En el ejemplo anterior, abrimos un archivo y leemos su contenido línea por línea. Verificamos si esa línea comienza con «Geeks» usando una expresión regular. Si esa línea comienza con «Geeks» , omitimos esa línea e imprimimos el resto de las líneas y almacenamos esas líneas en otro archivo.
Publicación traducida automáticamente
Artículo escrito por rohanchopra96 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA