In this article, we are going to see how to fetch and display lines containing a given string from a given text file. Assume that you have a text file named Lazyroar.txt saved on the location where you are going to create your python file.
Here is the content of the Lazyroar.txt file:
Approach:
- Load the text file into the python program to find the given string in the file.
- Ask the user to enter the string that you want to search in the file.
- Read the text file line by line using readlines() function and search for the string.
- After finding the string, print that entire line and continue the search.
- If the string is not found in the entire file, display the proper verdict.
Below is the implementation:
Python3
# Python Program to Print Lines# Containing Given String in File  # input file name with extensionfile_name = input("Enter The File's Name: ")  # using try catch except to# handle file not found error.  # entering try blocktry:      # 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!") |
Output:
Lines containing string
