Kā šķērsot failu sistēmu Python? Pieņemsim, ka mēs savā sistēmā esam norādījuši zemāk esošo failu struktūru un vēlamies pilnībā šķērsot visus tā zarus no augšas uz leju?
Kā os.walk() darbojas programmā python?
OS.walk() ģenerē failu nosaukumus direktoriju kokā, ejot pa koku vai nu no augšas uz leju, vai no apakšas uz augšu. Katram direktorijam kokā, kas sakņojas direktorija augšpusē (ieskaitot pašu augšdaļu), tiek iegūts 3 korpuss (dirpath, dirname, failu nosaukumi).
- sakne: Izdrukā direktorijus tikai no jūsu norādītā.
- saki: Izdrukā apakšdirektorijus no saknes.
- faili: Izdrukā visus failus no saknes un direktorijiem.
# Driver function import os if __name__ == "__main__": for (root,dirs,files) in os.walk('.', topdown=True): print (root) print (dirs) print (files) print ('--------------------------------')>
Izvade:
['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'] -------------------------------->
Ligzdoto saraksta izpratne ar Os.Walk
Programma python failu atrašanai direktoriju kokā, tas nozīmē, ka mums ir jāatrod faili, kas beidzas ar paplašinājumu .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)>
Izvade
python files in the directory tree are Solution.py>