Python: найти все файлы в каталоге по расширению

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

Метод 1: использование модуля glob

import glob
def find_files_by_extension(directory, extension):
    pattern = f"{directory}//*.{extension}"
    files = glob.glob(pattern, recursive=True)
    return files
# Example usage:
directory = "/path/to/directory"
extension = "txt"
files = find_files_by_extension(directory, extension)
print(files)

Метод 2: использование модуля os

import os
def find_files_by_extension(directory, extension):
    files = []
    for root, _, filenames in os.walk(directory):
        for filename in filenames:
            if filename.endswith(f".{extension}"):
                files.append(os.path.join(root, filename))
    return files
# Example usage:
directory = "/path/to/directory"
extension = "txt"
files = find_files_by_extension(directory, extension)
print(files)

Метод 3: использование модуля pathlib

import pathlib
def find_files_by_extension(directory, extension):
    path = pathlib.Path(directory)
    files = path.glob(f"/*.{extension}")
    return [str(file) for file in files if file.is_file()]
# Example usage:
directory = "/path/to/directory"
extension = "txt"
files = find_files_by_extension(directory, extension)
print(files)

Эти методы найдут все файлы с указанным расширением в заданном каталоге и его подкаталогах. Обязательно замените "/path/to/directory"фактическим путем к каталогу, в котором вы хотите выполнить поиск, а "txt"желаемым расширением файла.