1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
Anika [276]
4 years ago
6

Write a recursive function, displayFiles, that expects a pathname as an argument. The path name can be either the name of a file

or the name of a directory. If the pathname refers to a file, its filepath is displayed, followed by its contents, like so:
Computers and Technology
1 answer:
timama [110]4 years ago
8 0

Answer:

Here is the Python function:

import os   #module used to interact with operating system

def displayFiles(pathname):  #recursive function that takes a pathname as argument

  if (os.path.isdir(pathname)):  #checks if specified path (argument) is an existing directory

      for content in os.listdir(pathname):  #gets the list of all files and directories in the directory and iterates through the items of this list of directory

          contents = os.path.join(pathname, content)  #joins contents of path

          displayFiles(contents)  #calls function recursively

  else:  #if pathname refers to a file

      filename=pathname  #sets filename to pathname

      file = os.path.basename(filename)  #gets base name in specified path

      print("File Name: ", file) #displays the name of file

      with open(filename, "r") as contents:  #opens file in read mode

          print("Content:")  #prints Content:

          for lines in contents:  #iterates through the contents of file

              print(lines)   #displays the contents of file

Explanation:

The recursive function  displayFiles contains a single argument  pathname which can either be a pathname or a filename  . If the given argument is pathname for directory  , then the directory is opened and os.listdir returns a list containing the names of the entries in the directory given by pathname and append these contents in the list. Then this function is called recursively to print each file name and this function is applied to each name in the directory. However if the pathname refers to a file then the pathname is set to filename , the file is opened in read mode and the contents of the file are displayed.

You might be interested in
Consider the following relation: CAR_SALE (Car#, Date_sold, Salesman#, Commision%, Discount_amt Assume that a car may be sold by
Nady [450]

Answer:

See explaination

Explanation:

The given relation is:

CAR_SALE(Car#, Date_sold, Salesperson#, Commission%, Discount_amt)

Primary key: {Car#,Salesperson#}

We will first check whether the relation is in 1NF.

A relation is said to be in the 1st Normal form(1NF) if all the columns in the relation have atomic values. In this case, the relation is in 1NF.

A relation is said to be in the second normal form(2NF) if it satisfies the condition that all non keys are completely dependent on the primary key and just a part of the primary key.

In the case of the CAR_SALE relation, the Commission% depends only on the Salesperson# and not on the combination of Car# and Salesperson#. This means that the given relation is not in 2NF. To satisfy 2NF, we make two relationships as given below:

SALE_DETAIL(Salesperson#, Commission%)

and CAR_SALE(Car#, Date_sold, Salesperson#, Discount_amt)

Now both the relations are in 2NF.

For a relation to be in 3NF, no non-key should be functionally dependent on another non key.

In the case of the CAR_SALE relation, it is specified that the Date_sold field determines the Discount_amt. Therefore the modified CAR_SALE is not in 3NF.

To satisfy 3NF, we seperate the non key and the dependent non key and create a different table.

Final Relations:

SALE_DETAIL(Salesperson#, Commission%)

Discount_Detail(Date_Sold, Discount_Amt)

CAR_SALE(Car#, Date_sold, Salesperson#)

7 0
3 years ago
The resistance in a particular kind of circuit is found using this formula: R1(R2)R1+R2.
jenyasd209 [6]

Answer:

resistance = (R1 * R2) / (R1 + R2)

Explanation:

PYTHON doesn't recognize multiplication like this example >> 3(4)

This is why PYTHON uses this symbol (*)

3 0
3 years ago
Which of the following statements is TRUE?
viktelen [127]

Answer:

3

Explanation:

5 0
3 years ago
Read 2 more answers
How can you add contrast between text and headlines in a document? increase the font size of the headline make the headline long
Pavlova-9 [17]
Increase the font size and make the headline bold
8 0
3 years ago
Write a program that asks the user for two file names. The first file will be opened for input and the second file will be opene
Wewaii [24]

Answer:

#include <iostream>

#include <fstream>

#include <string>

using namespace std;

int main()

{

//First we declare string variables to store file names for input and output

   string inputName;

   string outputName;

   string sentence;

// Then declare char variable to get current char

   char ch;

//The following section will prompt theuser to enter the file names and read

   cout << "Enter input file name:\n";

   cin >> inputName;

   cout << "Enter output file name:\n";

   cin >> outputName;

//ignore newline character left inside keyboard buffer

   cin.ignore();

//Next we define the input and output files to be opened

   ifstream inputFile(inputName);

   ofstream outputFile(outputName);

   if(!inputFile && !outputFile){

       cout << "Error while opening the files!\n";

       cout << "Please try again!\n";

       //end program immediately

       return 0;

   }

//Using this loop to get lines one by one, delimited by '.'

   while(getline(inputFile, sentence, '.')){

       //bool variable to store if we have already

       //printed capital first letter

       bool alreadyCapitalized = false;

       //Using of for loop on all characters of sentence

       for(int counter = 0; counter < sentence.length(); counter++){

           //if not alphabetical character,

           //so whitespace or newline, print as is

           if(!isalpha(sentence[counter]))

               outputFile << sentence[counter];

       //Condition statement for if it is alphabetical and no capitalization has been done, print it as uppercase

           if(!alreadyCapitalized && isalpha(sentence[counter])){

               outputFile << (char)toupper(sentence[counter]);

               alreadyCapitalized = true;

           }

           //otherwise print this condition as lowercase

           else if(alreadyCapitalized)

               outputFile << (char)tolower(sentence[counter]);

       }

       //Printing of the output sentence with period in the end

       outputFile << ".";

   }

   //Closing the files

   inputFile.close();

   outputFile.close();

   return 0;

}

5 0
3 years ago
Other questions:
  • A developer needs to create a visualforce page that displays case data. The page will be used by both support reps and support m
    10·1 answer
  • John wants to share resources and move a large volume of data quickly over the Internet. John should use which of the following
    9·1 answer
  • Please answer fast - screenshot included.
    5·1 answer
  • In Broadbent's filter model of attention, the stages of information processing occur in which order?
    9·1 answer
  • Write the thesis statment of research paper​
    5·1 answer
  • Melissa is working on her Cell class by adding new methods. However, in her most recent version, she is receiving errors in some
    14·1 answer
  • I need help ASP 3rd grade math ​
    11·2 answers
  • Explain one rule the company must follow when using cookies on its website.
    13·1 answer
  • When scriptwriters are writing scripts, why do they have to write them in accordance with industry standards?
    9·1 answer
  • State two differences between a mouse pointer and a mouse cursor​
    10·2 answers
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!