logo

os.walk() v Pythonu

Jak procházet souborovým systémem v Pythonu? Předpokládejme, že jsme níže uvedli strukturu souborů v našem systému a chceme procházet všechny jeho větve úplně shora dolů? Příklad souborového systému

Jak funguje os.walk() v pythonu?

OS.walk() generuje názvy souborů ve stromu adresářů procházením stromu shora dolů nebo zdola nahoru. Pro každý adresář ve stromu zakořeněný v horní části adresáře (včetně samotného vrcholu) poskytuje 3 n-tice (cesta adresáře, názvy adresářů, názvy souborů).



funkce python chr
  • kořen: Vytiskne adresáře pouze z toho, co jste zadali.
  • říci: Vytiskne podadresáře z kořenového adresáře.
  • soubory: Vytiskne všechny soubory z kořenového adresáře a adresářů.
Python3
# Driver function import os if __name__ == "__main__": for (root,dirs,files) in os.walk('.', topdown=True): print (root) print (dirs) print (files) print ('--------------------------------')>

Výstup:

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

Porozumění vnořenému seznamu s Os.Walk

Program pro nalezení souborů python ve stromu adresářů, což znamená, že musíme najít soubory, které končí příponou .py.

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

Výstup
python files in the directory tree are Solution.py>