Метод os.walk() в Python3
Методы файлов/каталогов Python3 OS
Обзор
Метод os.walk() может создать генератор для перебора всех файлов в искомом каталоге и его подкаталогах.
Метод os.walk() используется для вывода имён файлов в каталоге путём обхода дерева каталогов сверху вниз или снизу вверх.
Метод os.walk() — это простой и удобный итератор обхода файлов и каталогов, который помогает нам эффективно решать задачи, связанные с файлами и каталогами.
Работает на Unix и Windows.
Синтаксис
walk()Синтаксис метода следующий:
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
Parameters
-
top-- Для каждой папки под корневым каталогом (включая сам корневой каталог) он возвращает кортеж из 3 элементов (dirpath, dirnames, filenames) [путь к папке, имена папок, имена файлов].
topdown-- Необязательно. Если True или не указано, кортеж каталога из 3 элементов будет сгенерирован до кортежей любых его подпапок (сверху вниз). Если topdown имеет значение False, кортеж каталога из 3 элементов будет сгенерирован после кортежей любых его подпапок (снизу вверх).
onerror-- Необязательно. Это функция; она вызывается с одним аргументом — экземпляром OSError. После сообщения об этой ошибке продолжает обход или возбуждает исключение, чтобы завершить обход.
followlinks-- Если задано значение true, доступ к каталогам осуществляется через символические ссылки.
Возвращаемое значение
Возвращает генератор.
Пример
Следующий пример демонстрирует использование метода walk():
Пример
import os
for root, dirs, files in os.walk(".", topdown=False):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))
Вывод вышеприведённой программы:
./.bash_logout ./amrood.tar.gz ./.emacs ./httpd.conf ./www.tar.gz ./mysql.tar.gz ./test.py ./.bashrc ./.bash_history ./.bash_profile ./tmp ./tmp/test.pyДругие расширения