En este artículo, veremos cómo obtener y mostrar líneas que contienen una string dada de un archivo de texto dado. Suponga que tiene un archivo de texto llamado geeks.txt guardado en la ubicación donde va a crear su archivo python.
Aquí está el contenido del archivo geeks.txt:
Acercarse:
- Cargue el archivo de texto en el programa python para encontrar la string dada en el archivo.
- Pídale al usuario que ingrese la string que desea buscar en el archivo.
- Lea el archivo de texto línea por línea usando la función readlines() y busque la string.
- Después de encontrar la string, imprima toda la línea y continúe con la búsqueda.
- Si la string no se encuentra en todo el archivo, muestre el veredicto adecuado.
A continuación se muestra la implementación:
Python3
# Python Program to Print Lines # Containing Given String in File # input file name with extension file_name = input("Enter The File's Name: ") # using try catch except to # handle file not found error. # entering try block try: # opening and reading the file file_read = open(file_name, "r") # asking the user to enter the string to be # searched text = input("Enter the String: ") # reading file content line by line. lines = file_read.readlines() new_list = [] idx = 0 # looping through each line in the file for line in lines: # if line have the input string, get the index # of that line and put the # line into newly created list if text in line: new_list.insert(idx, line) idx += 1 # closing file after reading file_read.close() # if length of new list is 0 that means # the input string doesn't # found in the text file if len(new_list)==0: print("\n\"" +text+ "\" is not found in \"" +file_name+ "\"!") else: # displaying the lines # containing given string lineLen = len(new_list) print("\n**** Lines containing \"" +text+ "\" ****\n") for i in range(lineLen): print(end=new_list[i]) print() # entering except block # if input file doesn't exist except : print("\nThe file doesn't exist!")
Producción:
Publicación traducida automáticamente
Artículo escrito por amnindersingh1414 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA