Cum să traversezi sistemul de fișiere în Python? Să presupunem că am dat mai jos structura fișierelor în sistemul nostru și dorim să traversăm toate ramurile sale complet de sus în jos?
Cum funcționează os.walk() în python?
OS.walk() generează numele fișierelor într-un arbore de directoare mergând în arbore fie de sus în jos, fie de jos în sus. Pentru fiecare director din arborele înrădăcinat în partea de sus a directorului (inclusiv partea de sus însuși), produce un 3-tuple (dirpath, dirnames, filenames).
- radacina: Imprimă directoare numai din ceea ce ați specificat.
- Spune: Imprimă subdirectoare de la root.
- fisiere: Imprimă toate fișierele din rădăcină și directoare.
# Driver function import os if __name__ == "__main__": for (root,dirs,files) in os.walk('.', topdown=True): print (root) print (dirs) print (files) print ('--------------------------------')>
Ieșire:
['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'] -------------------------------->
Înțelegerea listelor imbricate cu Os.Walk
Program pentru a găsi fișierele Python în arborele de directoare, ceea ce înseamnă că trebuie să găsim fișierele care se termină cu extensia .py.
Piton # 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)>
Ieșire
python files in the directory tree are Solution.py>