logo

os.walk() у Python

Як пройти файлову систему в Python? Припустімо, ми надали структуру файлів у нашій системі, наведену нижче, і ми хочемо повністю пройти всі її гілки зверху вниз? Приклад файлової системи

Як os.walk() працює в python?

OS.walk() генерує імена файлів у дереві каталогів, проходячи по дереву зверху вниз або знизу вгору. Для кожного каталогу в дереві з коренем у верхній частині каталогу (включаючи саму вершину), він дає 3-кортеж (шлях до каталогу, імена каталогів, імена файлів).



  • корінь: Роздруковує каталоги лише з того, що ви вказали.
  • казати: Роздруковує підкаталоги з кореня.
  • файли: Роздруковує всі файли з кореня та каталогів.
Python3
# Driver function import os if __name__ == "__main__": for (root,dirs,files) in os.walk('.', topdown=True): print (root) print (dirs) print (files) print ('--------------------------------')>

Вихід:

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

Розуміння вкладених списків за допомогою Os.Walk

Програма для пошуку файлів python у дереві каталогів, що означає, що нам потрібно знайти файли з розширенням .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)>

Вихід
python files in the directory tree are Solution.py>