Add a command to this chapter's case study program that allows the user to view the contents of a file in the current working directory. When the command is selected, the program should display a list of filenames and a prompt for the name of the file to be viewed. Be sure to include error recovery in the program. If the user enters a filename that does not exist they should be prompted to enter a filename that does exist. An example of the program input and output is shown below: /root/sandbox List the current directory 2 Move up Move down 4 Number of files in the directory Size of the directory in bytes Search for a file name View the contents of a file 7 8 Quit the program Enter a number: 7 Files in /root/sandbox: filesys.py example.txt Enter a file name from these names: example.txt THIS IS CONTENT OF AN EXAMPLE FILE. /root/sandbox List the current directory 2 Move up Move down 4 Number of files in the directory 5 Size of the directory in bytes Search for a file name 7 View the contents of a file 8 Quit the program Enter a number: 8

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter8: Arrays And Strings
Section: Chapter Questions
Problem 6PE
icon
Related questions
Question
# add your condition here

def viewFile(dirName):
# write your code here
print("")

def listCurrentDir(dirName):
"""Prints a list of the cwd's contents."""
lyst = os.listdir(dirName)
for element in lyst:print(element)

def moveUp():
"""Moves up to the parent directory."""
os.chdir("..")

def moveDown(currentDir):
"""Moves down to the named subdirectory if it exists."""
newDir = input("Enter the directory name: ")
if os.path.exists(currentDir + os.sep + newDir) and\
os.path.isdir(newDir):
os.chdir(newDir)
else:
print("ERROR: no such name")

def countFiles(path):
"""Returns the number of files in the cwd and
all its subdirectories."""
count = 0
lyst = os.listdir(path)
for element in lyst:
if os.path.isfile(element):
count += 1
else:
os.chdir(element)
count += countFiles(os.getcwd())
os.chdir("..")
return count

def countBytes(path):
"""Returns the number of bytes in the cwd and
all its subdirectories."""
count = 0
lyst = os.listdir(path)
for element in lyst:
if os.path.isfile(element):
count += os.path.getsize(element)
else:
os.chdir(element)
count += countBytes(os.getcwd())
os.chdir("..")
return count

def findFiles(target, path):
"""Returns a list of the file names that contain
the target string in the cwd and all its subdirectories."""
files = []
lyst = os.listdir(path)
for element in lyst:
if os.path.isfile(element):
if target in element:
files.append(path + os.sep + element)
else:
os.chdir(element)
files.extend(findFiles(target, os.getcwd()))
os.chdir("..")
return files

if __name__ == "__main__":
main()
 
Python only!
Add a command to this chapter's case study program that allows the user to view the contents of a
file in the current working directory. When the command is selected, the program should display a
list of filenames and a prompt for the name of the file to be viewed.
Be sure to include error recovery in the program. If the user enters a filename that does not exist
they should be prompted to enter a filename that does exist.
An example of the program input and output is shown below:
/root/sandbox
List the current directory
2
Move up
Move down
4
Number of files in the directory
Size of the directory in bytes
Search for a file name
View the contents of a file
6
7
8
Quit the program
Enter a number: 7
Files in /root/sandbox:
filesys.py
example.txt
Enter a file name from these names: example.txt
THIS IS CONTENT OF AN EXAMPLE FILE.
/root/sandbox
1
List the current directory
Move up
3
Move down
4
Number of files in the directory
Size of the directory in bytes
Search for a file name
5
6
7
View the contents of a file
Quit the program
Enter a number: 8
Have a nice day!
Transcribed Image Text:Add a command to this chapter's case study program that allows the user to view the contents of a file in the current working directory. When the command is selected, the program should display a list of filenames and a prompt for the name of the file to be viewed. Be sure to include error recovery in the program. If the user enters a filename that does not exist they should be prompted to enter a filename that does exist. An example of the program input and output is shown below: /root/sandbox List the current directory 2 Move up Move down 4 Number of files in the directory Size of the directory in bytes Search for a file name View the contents of a file 6 7 8 Quit the program Enter a number: 7 Files in /root/sandbox: filesys.py example.txt Enter a file name from these names: example.txt THIS IS CONTENT OF AN EXAMPLE FILE. /root/sandbox 1 List the current directory Move up 3 Move down 4 Number of files in the directory Size of the directory in bytes Search for a file name 5 6 7 View the contents of a file Quit the program Enter a number: 8 Have a nice day!
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Knowledge Booster
Linux
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
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning