# Search.py Copyright (c) Kari Laitinen # http://www.naturalprogramming.com # 2006-05-15 File created. # 2022-12-27 Converted to Python 3. import sys # needed when command line parameters are used def search_string_in_file( file_name_from_caller, string_to_be_searched ) : file_to_read = open( file_name_from_caller ) # "r" is default print( "\n Searching ... \"%s\"" % string_to_be_searched ) line_counter = 0 end_of_file_encountered = False while end_of_file_encountered == False : text_line_from_file = file_to_read.readline() if text_line_from_file == "" : end_of_file_encountered = True else : line_counter += 1 if text_line_from_file.find( string_to_be_searched ) != -1 : print( "\n \"%s\" was found on line %d" % \ ( string_to_be_searched, line_counter ), end="" ) file_to_read.close() # The main program begins. command_line_parameters = sys.argv[ 1 : ] if len( command_line_parameters ) == 2 : search_string_in_file ( command_line_parameters[ 0 ], command_line_parameters[ 1 ] ) else : print( "\n This program can search a string in a " \ "\n text file. Give first the file name : ", end="" ) file_name_given_by_user = input() print( "\n Type in the string to be searched: ", end="" ) string_to_be_searched = input() search_string_in_file( file_name_given_by_user, string_to_be_searched ) print( "\n" )