Question: Write a program that reads the contents of a text file. The program should create a dictionary in which the key-value pairs are described as

Write a program that reads the contents of a text file. The program should create a dictionary in which the key-value pairs are described as follows:

• Key. The keys are the individual words found in the file.

• Values. Each value is a list that contains the line numbers in the file where the word (the key) is found.

For example, suppose the word “robot” is found in lines 7, 18, 94, and 138. The dictionary would contain an element in which the key was the string “robot”, and the value was a list containing the numbers 7, 18, 94, and 138.

Once the dictionary is built, the program should create another text file, known as a word index, listing the contents of the dictionary. The word index file should contain an alphabetical listing of the words that are stored as keys in the dictionary, along with the line numbers where the words appear in the original file. Figure 9-1 shows an example of an original text file (Kennedy.txt) and its index file (index.txt).Figure 9-1 Example of original file and index file Kennedy.txt - Notepad File Edit Format View Help We

def main(): #open the original Kennedy file for reading Kennedy_file = open('Kennedy.txt', 'r')

#open the temp file for writing temp_file = open('temp_Kennedy.txt', 'w') #create word index dictionary

#initialize counter count = 0 value = count

#create for Loop to fetch the lines from the file for line in Kennedy_file: #increment the Line count+=1

print(count, len(line)) print(line.rstrip(' ')) #close file Kennedy_file.close() temp_file.close()

Figure 9-1 Example of original file and index file Kennedy.txt - Notepad File Edit Format View Help We observe today not a victory of party but a celebration of freedom symbolizing an end as well as a beginning signifying renewal as well as change X Ln 12, Col ^ index.txt - Notepad File Edit Format View Help We: 1 a: 1 2 4 an: 3 as: 4 5 6 beginning: 4 but: 2 celebration: 2 change: 6 end: 3 freedom: 3 not: 1 observe: 1 of: 23 party: 2 renewal: 5 signifying: 5 symbolizing: 3 today: 1 victory: 1 well: 4 5 0 X Ln 21, Col 1 ^

Step by Step Solution

3.47 Rating (170 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

The required code for solving our problem as mentioned in the question is def createwordindexinpu... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Starting Out With Python Questions!