Как получить все файлы из нескольких каталогов в Python: различные методы

Чтобы получить все файлы из нескольких каталогов в Python, вы можете использовать различные методы. Вот несколько подходов:

  1. os.walk(): функция os.walk()позволяет перебирать все каталоги и подкаталоги по заданному пути. Вы можете использовать его для получения списка всех файлов в этих каталогах. Вот пример:
import os
def get_files(directory):
    file_list = []
    for root, dirs, files in os.walk(directory):
        for file in files:
            file_list.append(os.path.join(root, file))
    return file_list
# Usage
directory = '/path/to/main/directory'
files = get_files(directory)
print(files)
  1. glob.glob(): модуль globпредоставляет удобный способ получения путей к файлам с использованием сопоставления с образцом. Вы можете указать несколько каталогов или использовать подстановочные знаки для соответствия определенным типам файлов. Вот пример:
import glob
def get_files(directory):
    file_list = []
    pattern = directory + '//*'  # Recursive search in all subdirectories
    files = glob.glob(pattern, recursive=True)
    for file in files:
        if os.path.isfile(file):
            file_list.append(file)
    return file_list
# Usage
directory = '/path/to/main/directory'
files = get_files(directory)
print(files)
  1. pathlib.Path.glob(): если вы используете Python 3.4 или новее, вы можете использовать модуль pathlib, который обеспечивает объектно-ориентированный подход для работы с путями к файлам. Метод glob()позволяет искать файлы по шаблонам. Вот пример:
from pathlib import Path
def get_files(directory):
    file_list = []
    path = Path(directory)
    files = path.glob('/*')
    for file in files:
        if file.is_file():
            file_list.append(str(file))
    return file_list
# Usage
directory = '/path/to/main/directory'
files = get_files(directory)
print(files)

Эти методы дадут вам список всех файлов в указанных каталогах. Вы можете изменить их в соответствии с вашими требованиями.