Python: создание каталога изображений

В настоящее время я работаю над проектом, и до сих пор я создал папку с изображениями (формат png), в которой мне нужно перебирать каждое изображение и выполнять некоторые операции с ним с помощью PIL.

У меня операция правильно работает, вручную привязав путь к файлу в скрипте. Чтобы перебрать каждое изображение, я попытался использовать следующие

frames = glob.glob("*.png")

Но это дает список имен файлов в виде строк.

PIL требует путь к файлу для загрузки изображения и, следовательно, его дальнейшего использования.

filename = input("file path:")
image = Image.open(filename)
callimage = image.load()

Как я могу преобразовать строки из списка glob.glob и использовать их в качестве аргумента для метода Image.open?

Спасибо за ваш отзыв!

Я использую python 3.6.1, если это имеет какое-то отношение.


person Mohammed Momin    schedule 20.07.2018    source источник


Ответы (1)


Решение с пакетом os:

import os

source_path = "my_path"

image_files = [os.path.join(base_path, f) for f in files for base_path, _, files in os.walk(source_path) if f.endswith(".png")]

for filepath in image_files:
    callimage = Image.open(filepath).load()
    # ...

Решение с использованием glob:

import glob

source_path = "my_path"

image_files = [source_path + '/' + f for f in glob.glob('*.png')]

for filepath in image_files:
    callimage = Image.open(filepath).load()
    # ...
person rask004    schedule 20.07.2018