Home > Article > Backend Development > How to Obtain a Directory-Tree Listing in Python Using os.walk()?
Directory-Tree Listing in Python
Obtaining a comprehensive list of all files and directories within a specified directory is a crucial task in Python programming. This article delves into a highly effective method to traverse and retrieve a directory tree listing.
The os.walk() function provides a powerful way to navigate a directory structure. It yields a tuple for each directory encountered during the traversal, containing the directory name, a list of subdirectories, and a list of files within that directory.
Code Implementation:
The following Python code demonstrates how to utilize os.walk() to obtain a directory tree listing:
<code class="python">import os for dirname, dirnames, filenames in os.walk('.'): # Print paths to all subdirectories first. for subdirname in dirnames: print(os.path.join(dirname, subdirname)) # Print paths to all filenames. for filename in filenames: print(os.path.join(dirname, filename)) # Advanced usage: Manipulating the 'dirnames' list if '.git' in dirnames: # Prevent os.walk() from recursing into .git directories dirnames.remove('.git')</code>
Explanation:
This code snippet iterates through the directory tree starting from the current working directory ('.'). For each encountered directory, it prints the paths to all subdirectories and files contained within. The os.path.join() function is used to concatenate the directory and file names to create the full paths.
The "Advanced usage" section illustrates how to manipulate the dirnames list. In this example, if the .git subdirectory is encountered, it is removed from the dirnames list to prevent os.walk() from traversing into that directory and its contents.
By employing this method, you can efficiently obtain a detailed and hierarchical listing of all files and directories within a specified directory in Python, providing valuable insights into the directory structure.
The above is the detailed content of How to Obtain a Directory-Tree Listing in Python Using os.walk()?. For more information, please follow other related articles on the PHP Chinese website!