Home >Backend Development >Python Tutorial >How to Retrieve Files from Subfolders Recursively in Python?
Problem Statement
A Python script is encountered with a problem while recursively searching subfolders for files with a specific extension. The script aims to create a list of the found files, but the subfolders retrieved by the script are in a list rather than representing the folder containing the located file.
Solution
To resolve this issue, the dirpath, represented by the "root" variable in the provided code, should be utilized instead of the subFolder variable. The dirpath contains the absolute path of the directory where the located file resides.
Code Snippet
The following revised Python code demonstrates the correct usage of the dirpath:
<code class="python">import os result = [os.path.join(dp, f) for dp, dn, filenames in os.walk(PATH) for f in filenames if os.path.splitext(f)[1] == '.txt']</code>
By employing this modification, the code will effectively traverse subfolders recursively and create a list of files with the desired extension, with each file path including the folder it belongs to.
Additional Options
In addition to the primary solution, alternative approaches using the glob module or Python's built-in pathlib module for Python 3.4 and above are also provided to offer a more comprehensive range of options.
Conclusion
This modified script accurately identifies and lists files with the specified extension within specified folders and their subfolders, providing a robust solution for recursive file searching in Python.
The above is the detailed content of How to Retrieve Files from Subfolders Recursively in Python?. For more information, please follow other related articles on the PHP Chinese website!