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