В работе с файловыми системами часто возникает задача поиска файлов, расположенных в определенной директории и её поддиректориях. Например, можно представить ситуацию, когда требуется найти все файлы с расширением «.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 можно эффективно решать задачу рекурсивного поиска файлов в директории и её поддиректориях.
Добавить комментарий