Модуль 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 перед использованием этих функций и настроить путь к каталогу и шаблон в соответствии со своими требованиями. Приятного кодирования!