208k views
4 votes
Python program

You are given the following text file called Mytext.txt. Write a Python function called search_file that accepts the name of the file (i.e. filename) and a string to look for in the file (i.e. mystring) as parameters. The function then looks for mystring in the file. Whenever it finds the string in a line, it saves the line number and the text for that line in a dictionary. Finally, it returns the dictionary after reading all the lines in the file and populating the dictionary with all matching line numbers and line text. If an empty string or a blank string is passed as mystring then an empty dictionary is returned.
Sample Input: search_file("Mytext.txt","python")
Sample Input: search_file("Mytext.txt","")
Contents of Mytext.txt
Python is an interpreted, high-level, programming language.
Python is dynamically typed and garbage-collected.
Python was conceived in the late 1980s.
Python 2.0, was released in 2000.
Python 3.0, was released in 2008.
The interpreters are available for many operating systems.

1 Answer

1 vote

Answer:

The function in Python is as follows:

def search_file(filename,mystring):

my_dict = {}

count = 0

file = open(filename)

lines = file.readlines()

for line in lines:

count+=1

if mystring.lower() in line.lower():

my_dict[count] = line.rstrip('\\')

return my_dict

Step-by-step explanation:

This defines the function

def search_file(filename,mystring):

This initializes an empty dictionary

my_dict = {}

This initializes the number of lines to 0

count = 0

This opens the file

file = open(filename)

This reads the lines of the file

lines = file.readlines()

This iterates through the lines

for line in lines:

This increments the number line

count+=1

This checks if the string exists in the line

if mystring.lower() in line.lower():

If yes, the line number and the string are added to the dictionary

my_dict[count] = line.rstrip('\\')

This returns the dictionary

return my_dict

User Thiha Aung
by
4.5k points