Python. Библиотека os. Метод os. walk(). (77)

652 прочитали

Python. Библиотека os. Метод os. walk().

Метод os. walk ().

Синтаксис.

os. walk (top, topdown = True, onerror = None, followlinks=False )

top - каталог (директория, папка) для которого будет сгенерировано дерево. Принимается методом как каталог верхнего уровня. Обязательный аргумент, строка (str).

topdown именованный аргумент принимающий или значение False или True. Если значение аргумента True, дерево каталогов «обходится» сверху-вниз (от первого каталога к последнему), если значение аргумента False, дерево каталогов «обходится» снизу-вверх (от последнего каталога к первому). Необязательный аргумент, по умолчанию равен True.

onerror именованный аргумент отвечает за обработку ошибок. Необязательный аргумент, по умолчанию равен None и ошибки игнорируются.

followlinks именованный аргумент принимающий или значение False или True. Если значение аргумента True, то метод будет переходить по символическим ссылкам (при использовании символических ссылок существует возможность «получить» бесконечную рекурсию), если значение аргумента False, то метод не будет переходить по символическим ссылкам. Необязательный аргумент, по умолчанию равен False.

Метод os. walk () библиотеки os возвращает генератор дерева корневого каталога.

Метод os. walk() описание и примеры

За одно обращение к генератору, генератор возвращает кортеж, состоящий из трех членов: пути к каталогу, списка подкаталогов каталога и списка файлов каталога. В случае если аргумент topdown = True при каждом следующем обращении к генератору происходит обход дерева сверху-вниз. В случае если аргумент topdown = False при каждом следующем обращении к генератору происходит обход дерева снизу-вверх.

Проще объяснить это с помощью рисунка.

Имеем следующее дерево каталогов.

Метод os. walk() описание и примеры-2

Используя метод os. walk () получаем генератор. С помощью цикла for вызову все значения генератора. Так как аргумент topdown равен по умолчанию True, то обход происходит сверху-вниз.

Метод os. walk() описание и примеры-3

А теперь изменю значение аргумента topdown на False и получу обход снизу-вверх.

Метод os. walk() описание и примеры-4

Надеюсь понятно объяснил))

По ссылкам можно почитать мои конспекты:

Книги и курсы по Python
Книги и курсы по Python год спустя.
Встроенные функции (Built-in)
Методы словаря (Dict methods)
Методы списков (List methods)
Строковые методы (String Methods)
Библиотека os
Спецификаторы
Итерируемый тип данных
Инструкции continue, break и pass
Цикл for … in
Цикл while
Условная инструкция if
Индексация
Переменные
Встроенные функции print() и input()
Оператор присваивания
Основные типы данных
Утилита PIP
Коротко о языке