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 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!" ) |
Output: