Метод os.walk() в Python3

Python3 OS 文件/目录方法Методы файлов/каталогов 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():

Пример

#!/usr/bin/python3

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

Python3 OS 文件/目录方法Методы файлов/каталогов Python3 OS

Другие расширения