Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Challenge: Recursive File Search | Recursion and Lambda Functions
Python Functions Tutorial
course content

Course Content

Python Functions Tutorial

Python Functions Tutorial

1. What is a Function in Python?
2. Positional and Optional Arguments
3. Arbitrary Arguments
4. Function Return Value Specification
5. Recursion and Lambda Functions

book
Challenge: Recursive File Search

Task

Swipe to start coding

Imagine needing to check whether a specific file exists within a nested dictionary structure representing a file system. Implement a function file_exists that recursively navigates through folders (dictionary objects) and searches for a file (represented by the string "file"). Return True if the file is found; otherwise, return False.

  1. Use a for loop to iterate through all elements of the file_system dictionary using the items() method. This retrieves the key (name) and the value (content).
  2. Check if content is a file (i.e., the string "file") and if name matches target (the name of the file being searched for).
  3. If both conditions are met, return True, indicating that the file has been found.
  4. If content is not a file, check whether it is a folder. Use the isinstance() function, passing content as the first argument and dict as the second (which checks if the element is a dictionary).
  5. If content is a folder, call file_exists recursively with the necessary parameters to continue searching inside it.
  6. If the recursive call returns True, the file has been found, so return True.
  7. If no matches are found after checking all folders and files, return False.

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 5. Chapter 2
toggle bottom row

book
Challenge: Recursive File Search

Task

Swipe to start coding

Imagine needing to check whether a specific file exists within a nested dictionary structure representing a file system. Implement a function file_exists that recursively navigates through folders (dictionary objects) and searches for a file (represented by the string "file"). Return True if the file is found; otherwise, return False.

  1. Use a for loop to iterate through all elements of the file_system dictionary using the items() method. This retrieves the key (name) and the value (content).
  2. Check if content is a file (i.e., the string "file") and if name matches target (the name of the file being searched for).
  3. If both conditions are met, return True, indicating that the file has been found.
  4. If content is not a file, check whether it is a folder. Use the isinstance() function, passing content as the first argument and dict as the second (which checks if the element is a dictionary).
  5. If content is a folder, call file_exists recursively with the necessary parameters to continue searching inside it.
  6. If the recursive call returns True, the file has been found, so return True.
  7. If no matches are found after checking all folders and files, return False.

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

Section 5. Chapter 2
Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
We're sorry to hear that something went wrong. What happened?
some-alt