Python Program to Print Lines Containing Given String in File

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



