Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
13 Ноя 2024
1 мин
3126

Рекурсивный поиск файлов в Python

В работе с файловыми системами часто возникает задача поиска файлов, расположенных в определенной директории и её поддиректориях. Например, можно

В работе с файловыми системами часто возникает задача поиска файлов, расположенных в определенной директории и её поддиректориях. Например, можно представить ситуацию, когда требуется найти все файлы с расширением «.txt» в заданной директории и всех её поддиректориях.

В Python для таких целей можно использовать модуль os и его функцию os.walk(). Эта функция позволяет обойти директорию, включая все её поддиректории, и выполнить какое-либо действие для каждого файла. Например, можно использовать следующий код для поиска всех файлов с расширением «.txt»:

import os

for root, dirs, files in os.walk('ПУТЬ_К_ДИРЕКТОРИИ'):
    for file in files:
        if file.endswith('.txt'):
            print(os.path.join(root, file))

В данном случае, функция os.walk() возвращает кортеж из трех элементов: имя корневой директории, список поддиректорий и список файлов в текущей директории. Затем, для каждого файла в списке файлов проверяется, заканчивается ли его имя на «.txt». Если условие выполняется, то выводится полный путь к файлу.

Этот код будет работать для любого числа поддиректорий, поскольку функция os.walk() рекурсивно обходит все директории, начиная с указанной.

Таким образом, в Python можно эффективно решать задачу рекурсивного поиска файлов в директории и её поддиректориях.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий