How to traverse file system in Python ? Suppose we have given below file structure in our system and we want to traverse all it’s branches completely from top to bottom ?
How does os.walk() work in python ?
OS.walk() generate the file names in a directory tree by walking the tree either top-down or bottom-up. For each directory in the tree rooted at directory top (including top itself), it yields a 3-tuple (dirpath, dirnames, filenames).
root :
Prints out directories only from what you specified.
dirs :
Prints out sub-directories from root.
files :
Prints out all files from root and directories.
[GFGTABS]
Python3
# Driver function
import os
if __name__ == "__main__":
for (root,dirs,files) in os.walk('.', topdown=True):
print (root)
print (dirs)
print (files)
print ('--------------------------------')
[/GFGTABS]
Output:
['gfg-article-deep-crawl-master (1)', '.ipynb_checkpoints']
['t.pdf', 'Untitled.ipynb']
--------------------------------
./gfg-article-deep-crawl-master (1)
['gfg-article-deep-crawl-master']
[]
--------------------------------
./gfg-article-deep-crawl-master (1)/gfg-article-deep-crawl-master
['check_rank']
['rank_scraper.py', 'search-page (copy).html', '.gitignore', 'search-page.html', 'globals.py', 'requirements.txt', 'sel_scraper.py', 'README.md']
--------------------------------
./gfg-article-deep-crawl-master (1)/gfg-article-deep-crawl-master/check_rank
[]
['selenium.py', 'tools.py', '__init__.py', 'run_check.py']
--------------------------------
./.ipynb_checkpoints
[]
['Untitled-checkpoint.ipynb']
--------------------------------
Nested List comprehension With Os.Walk
Program to find the python files in the directory tree that means we need to find the files that ends with .py extension.
[GFGTABS]
Python
# code
import os
if __name__ == "__main__":
pythonFiles = [file for dirs in os.walk('.', topdown=True)
for file in dirs[2] if file.endswith(".py")]
print('python files in the directory tree are ')
for r in pythonFiles:
print(r)
[/GFGTABS]
Output
python files in the directory tree are
Solution.py
We use cookies to ensure you have the best browsing experience on our website. By using our site, you
acknowledge that you have read and understood our
Cookie Policy &
Privacy Policy
Got It !