Last Updated : 14 Mar, 2024
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).
Python3
# Driver function
import os
if __name__ == "__main__":
for (root,dirs,files) in os.walk('.', topdown=True):
print (root)
print (dirs)
print (files)
print ('--------------------------------')
Output:
['gfg-article-deep-crawl-master (1)', '.ipynb_checkpoints']Nested List comprehension With Os.Walk
['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']
--------------------------------
Program to find the python files in the directory tree that means we need to find the files that ends with .py extension.
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)
python files in the directory tree are Solution.py
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4