При работе с языком программирования Python иногда возникает необходимость получить список всех файлов и директорий в указанной каталоге. Это может быть полезно в различных ситуациях, например, при написании скрипта для автоматического бэкапа файлов или при создании индексатора файлов.
Получить список всех файлов и директорий в заданном каталоге можно с помощью встроенной функции os.listdir()
. Эта функция возвращает список всех файлов и директорий в указанной директории.
import os # Получить список всех файлов и директорий в текущем каталоге files_and_directories = os.listdir('.')
Однако эта функция не рекурсивна, то есть она не возвращает файлы и директории внутри поддиректорий. Для рекурсивного обхода можно использовать функцию os.walk()
.
import os # Рекурсивный обход всех файлов и директорий в текущем каталоге for dirpath, dirnames, filenames in os.walk('.'): print(f'Найден каталог: {dirpath}') for filename in filenames: print(f'Найден файл: {filename}')
Функция os.walk()
генерирует кортежи, содержащие три элемента: путь к текущему каталогу, список поддиректорий и список файлов в этом каталоге.
Использование os.walk()
позволяет рекурсивно обходить все директории и получать полный список всех файлов в них.
Это простые и эффективные способы работы с файловой системой в Python.
Добавить комментарий