Programa de Python para imprimir líneas que contienen una string dada en el archivo

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:

Líneas que contienen strings

Publicación traducida automáticamente

Artículo escrito por amnindersingh1414 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *