logo

os.walk() en Python

Comment parcourir le système de fichiers en Python ? Supposons que nous ayons donné ci-dessous la structure des fichiers dans notre système et que nous souhaitions parcourir toutes ses branches complètement de haut en bas ? Exemple de système de fichiers

Comment fonctionne os.walk() en python ?

OS.walk() génère les noms de fichiers dans une arborescence de répertoires en parcourant l'arborescence de haut en bas ou de bas en haut. Pour chaque répertoire de l'arborescence enraciné au sommet du répertoire (y compris le sommet lui-même), il génère un 3-tuple (chemin d'accès, noms de répertoires, noms de fichiers).



  • racine : Imprime uniquement les répertoires à partir de ce que vous avez spécifié.
  • dire: Imprime les sous-répertoires à partir de la racine.
  • des dossiers : Imprime tous les fichiers de la racine et des répertoires.
Python3
# Driver function import os if __name__ == "__main__": for (root,dirs,files) in os.walk('.', topdown=True): print (root) print (dirs) print (files) print ('--------------------------------')>

Sortir:

['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'] -------------------------------->

Compréhension de listes imbriquées avec Os.Walk

Programme pour trouver les fichiers python dans l’arborescence des répertoires, ce qui signifie que nous devons trouver les fichiers qui se terminent par l’extension .py.

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)>

Sortir
python files in the directory tree are Solution.py>