Description
The method walk() generates the file names in a directory tree by walking the tree either top-down or bottom-up.
Syntax
Following is the syntax for walk() method:
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
Parameters
-
top -- Each directory rooted at directory, yields 3-tuples, i.e., (dirpath, dirnames, filenames)
-
topdown -- If optional argument topdown is True or not specified, directories are scanned from top-down. If topdown is set to False, directories are scanned from bottom-up.
-
onerror -- This can show error to continue with the walk, or raise the exception to abort the walk.
-
followlinks -- This visits directories pointed to by symlinks, if set to true.
Return Value
This method does not return any value.
Example
The following example shows the usage of walk() method.
# !/usr/bin/python
import os
for root, dirs, files in os.walk(".", topdown=False):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))
输出:
Let us compile and run the above program, this will scan all the directories and subdirectories bottom-to-up
./tmp/test.py ./.bash_logout ./amrood.tar.gz ./.emacs ./httpd.conf ./www.tar.gz ./mysql.tar.gz ./test.py ./.bashrc ./.bash_history ./.bash_profile ./tmp
If you will change the value of topdown to True, then it will give you the following result:
./.bash_logout ./amrood.tar.gz ./.emacs ./httpd.conf ./www.tar.gz ./mysql.tar.gz ./test.py ./.bashrc ./.bash_history ./.bash_profile ./tmp ./tmp/test.py