PYTHON!!!! Write a program that allows the user to navigate the lines of text in a file. The program should prompt the user for a filename and input the lines of text into a list. The program then enters a loop in which it prints the number of lines in the file and prompts the user for a line number. Actual line numbers range from 1 to the number of lines in the file. If the input is 0, the program quits. Otherwise, the program prints the line associated with that number. An example file and the program input and output is shown below: example.txt Line 1. Line 2. Line 3. Enter the input file name: example.txt The file has 3 lines. Enter a line number [0 to quit]: 2 2 : Line 2. The file has 3 lines. Enter a line number [0 to quit]: 4 ERROR: line number must be less than 3. The file has 3 lines. Enter a line number [0 to quit]: 0   The program works as expected for given input, test 1: Custom Test: Delete file at start Test Contents: import os.path try: os.remove('.test.txt') except OSError: pass assert(not os.path.exists('.test.txt'))       Custom Test: Create test file 1 Test Contents: with open('.test.txt', 'w') as e: e.write("""To be, or not to be: that is the question: Whether 'tis nobler in the mind to suffer The slings and arrows of outrageous fortune, Or to take arms against a sea of troubles, And by opposing end them? To die: to sleep;""")          Test Case:   Verify program with test file 1   Input: .test.txt 3 1 0     Output: Enter file name: .test.txt The number of lines in the file is: 5 Enter line number: 3 The slings and arrows of outrageous fortune, Enter line number: 1 To be, or not to be: that is the question:  Enter line number: 0     Results: The file has 5 lines The slings and arrows of outrageous fortune, To be, or not to be: that is the question:       Custom Test:   Delete files at end   Test Contents: import os.path try: os.remove('.test.txt') except OSError: pass assert(not os.path.exists('.test.txt'))       The program works as expected for given input, test 2:   Custom Test: Delete file at start   Test Contents: import os.path try: os.remove('.test.txt') except OSError: pass assert(not os.path.exists('.test.txt'))       Custom Test:   Create test file 2   Test Contents: with open('.test.txt', 'w') as e: e.write("""Battle of Adrianople: Emperor Constantine the Great defeats his rival Licinius near Adrianople, forcing him to retreat to Byzantium. He invades Thrace with a Visgothic force and raids the countryside. This sees Constantine ruling as sole Emperor.""")       Test Case:   Verify program with test file 2   Input: .test.txt 3 1 0   Output: Enter file name: .test.txt The number of lines in the file is: 1  Enter line number: 3    Results: The file has 1 lines  Battle of Adrianople   Emperor Constantine  Licinius near Adrianople   Thrace with a Visgothic  sole Emperor       Custom Test:   Delete files at end   Test Contents:   import os.path try: os.remove('.test.txt') except OSError: pass assert(not os.path.exists('.test.txt'))

Programming Logic & Design Comprehensive
9th Edition
ISBN:9781337669405
Author:FARRELL
Publisher:FARRELL
Chapter7: File Handling And Applications
Section: Chapter Questions
Problem 15RQ
icon
Related questions
Question

PYTHON!!!!

Write a program that allows the user to navigate the lines of text in a file. The program should prompt the user for a filename and input the lines of text into a list. The program then enters a loop in which it prints the number of lines in the file and prompts the user for a line number. Actual line numbers range from 1 to the number of lines in the file. If the input is 0, the program quits. Otherwise, the program prints the line associated with that number.

An example file and the program input and output is shown below:

example.txt

Line 1.

Line 2.

Line 3.

Enter the input file name: example.txt

The file has 3 lines.

Enter a line number [0 to quit]: 2

2 : Line 2.

The file has 3 lines.

Enter a line number [0 to quit]: 4

ERROR: line number must be less than 3.

The file has 3 lines.

Enter a line number [0 to quit]: 0

 

The program works as expected for given input, test 1:

Custom Test:

Delete file at start

Test Contents:
import os.path
try:
os.remove('.test.txt')
except OSError:
pass
assert(not os.path.exists('.test.txt'))
 
 
 
Custom Test:

Create test file 1

Test Contents:
with open('.test.txt', 'w') as e:
e.write("""To be, or not to be: that is the question:
Whether 'tis nobler in the mind to suffer
The slings and arrows of outrageous fortune,
Or to take arms against a sea of troubles,
And by opposing end them? To die: to sleep;""")
 
 
 
 
 Test Case:
 
Verify program with test file 1
 
Input:
.test.txt
3
1
0
 
 
Output:
Enter file name: .test.txt
The number of lines in the file is: 5
Enter line number: 3
The slings and arrows of outrageous fortune,
Enter line number: 1
To be, or not to be: that is the question: 
Enter line number: 0
 
 
Results:
The file has 5 lines
The slings and arrows of outrageous fortune,
To be, or not to be: that is the question:
 
 
 
Custom Test:
 

Delete files at end

 

Test Contents:

import os.path

try:

os.remove('.test.txt')

except OSError:

pass

assert(not os.path.exists('.test.txt'))
 
 
 

The program works as expected for given input, test 2:

 

Custom Test:

Delete file at start

 

Test Contents:
import os.path
try:
os.remove('.test.txt')
except OSError:
pass
assert(not os.path.exists('.test.txt'))
 
 
 
Custom Test:
 

Create test file 2

 
Test Contents:
with open('.test.txt', 'w') as e:
e.write("""Battle of Adrianople: Emperor Constantine the Great defeats his rival Licinius near Adrianople, forcing him to retreat to Byzantium. He invades Thrace with a Visgothic force and raids the countryside. This sees Constantine ruling as sole Emperor.""")
 
 
 
Test Case:
 

Verify program with test file 2

 

Input:

.test.txt

3

1

0

 

Output:

Enter file name: .test.txt

The number of lines in the file is: 1 

Enter line number: 3 

 

Results:

The file has 1 lines  Battle of Adrianople
 
Emperor Constantine  Licinius near Adrianople
 
Thrace with a Visgothic  sole Emperor
 
 
 
Custom Test:
 

Delete files at end

 
Test Contents:
 
import os.path
try:
os.remove('.test.txt')
except OSError:
pass
assert(not os.path.exists('.test.txt'))
 
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 2 images

Blurred answer
Knowledge Booster
Graphical User Interface
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage
EBK JAVA PROGRAMMING
EBK JAVA PROGRAMMING
Computer Science
ISBN:
9781337671385
Author:
FARRELL
Publisher:
CENGAGE LEARNING - CONSIGNMENT
Microsoft Visual C#
Microsoft Visual C#
Computer Science
ISBN:
9781337102100
Author:
Joyce, Farrell.
Publisher:
Cengage Learning,