Listing a Directory Tree in Python
Manipulating files and directories is a common task in programming. In Python, it's easy to get a list of all files and directories in a given directory using the os.walk function.
Getting Files and Directories with os.walk
The os.walk function takes a directory path as input and returns a generator object that yields a tuple for each directory it encounters. The tuple contains three elements:
Here's an example of how to use os.walk to list a directory tree:
<code class="python">import os for dirname, dirnames, filenames in os.walk('.'): # Print path to all subdirectories first. for subdirname in dirnames: print(os.path.join(dirname, subdirname)) # Print path to all filenames. for filename in filenames: print(os.path.join(dirname, filename))</code>
This code will traverse the directory tree starting from the current directory (represented by '.') and print the path to every subdirectory and file it encounters.
Advanced Usage
The os.walk function also allows you to control how it traverses the directory tree. For example, you can edit the dirnames list during the iteration to stop os.walk from recursing into certain directories.
In the example below, the code avoids recursing into any directories named .git:
<code class="python">if '.git' in dirnames: # Don't go into any .git directories. dirnames.remove('.git')</code>
This versatility makes os.walk a powerful tool for working with directory trees in Python.
The above is the detailed content of How to List a Directory Tree in Python using os.walk?. For more information, please follow other related articles on the PHP Chinese website!