как добавить все элементы из папки в список сразу. python

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

list = ['1.jpg', '2.jpg', '3.jpg'...]

как это можно реализовать?


Ответы (1 шт):

Автор решения: mrBars1k

Если Вам необходимо просто добавить в список все фотографии, которые содержаться в конкретной папке, то можете сделать так:

import os

directory = r'D:\Photo'
photos = os.listdir(directory)  # Получаем название всего содержимого папки;

print(photos)
>>> ['1.jpg', '2.jpg', '3.jpg', '4.png', . . .]

Но такой подход добавит не только фото, а вообще все файлы и подпапки. Можно добавить проверку на является ли фото:

import os

directory = r'D:\Photo'  # Путь к директории;

files = os.listdir(directory)  # Все файлы из указанной папки;
extensions = {'.jpg', '.jpeg', '.png', '.tiff'}  # Проверка на является ли фото;
photos = []  # Здесь будут все подходящий файлы;

for i in files:
    ex = os.path.splitext(i)[1].lower()  # Расширение файла;

    if ex in extensions:
        photos.append(i)  # Если расширение файла подходит, то добавляет в список;

print(photos)
→ Ссылка