Изучение списков каталогов с помощью модуля os: подробное руководство

Модуль os в Python предоставляет широкий набор функций для взаимодействия с операционной системой, включая доступ к каталогам и управление ими. В этой статье мы рассмотрим несколько методов просмотра списков каталогов с помощью модуля os, а также приведем примеры кода для демонстрации каждого метода.

Метод 1: os.listdir()
Самый простой способ просмотреть содержимое каталога — использовать функцию os.listdir(). Он возвращает список всех файлов и каталогов, присутствующих по указанному пути.

import os
directory = '/path/to/directory'
files = os.listdir(directory)
for file in files:
    print(file)

Метод 2: os.scandir()
Функция os.scandir()обеспечивает более эффективный способ перебора содержимого каталога. Он возвращает итератор из DirEntryобъектов, которые содержат различные атрибуты и методы, связанные с каждой записью.

import os
directory = '/path/to/directory'
with os.scandir(directory) as entries:
    for entry in entries:
        print(entry.name)

Метод 3: glob.glob()
Если вам нужно отфильтровать файлы по шаблону, вы можете использовать функцию glob.glob(). Он возвращает список путей к файлам, соответствующих указанному шаблону.

import glob
directory = '/path/to/directory'
pattern = '*.txt'
files = glob.glob(directory + '/' + pattern)
for file in files:
    print(file)

Метод 4: os.walk()
Функция os.walk()позволяет рекурсивно исследовать дерево каталогов. Он генерирует кортеж, содержащий путь к текущему каталогу, список подкаталогов и список имен файлов в текущем каталоге.

import os
directory = '/path/to/directory'
for root, dirs, files in os.walk(directory):
    for file in files:
        print(os.path.join(root, file))

В этой статье мы рассмотрели несколько методов просмотра списков каталогов с помощью модуля os в Python. Функции os.listdir(), os.scandir(), glob.glob()и os.walk()предоставляют различные способы доступа и перебора содержимого каталог. Используя эти функции, вы можете эффективно управлять файлами в своих программах Python.

Не забудьте импортировать модуль os или glob перед использованием этих функций и настроить путь к каталогу и шаблон в соответствии со своими требованиями. Приятного кодирования!