Цикл для сбора iPhoto MetaData не может найти файл - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь просмотреть все фотографии в каталоге, созданные Mac iPhoto, и создать список, содержащий метаданные каждой фотографии.

iPhoto сохраняет все видео и изображения в папке с именем dbВот.Я собрал все подкаталоги db и сохранил их в списке folders

Когда я перебираю список folders и пытаюсь собрать метаданные (exif), яполучаю сообщение об ошибке, сообщающее, что файл не существует.Я не уверен, как это может быть, так как я не дал циклу никаких имен файлов.Когда я считаю количество циклов, я получаю ожидаемое количество фотографий.Мне просто трудно просматривать фотографии для сбора мета.

Почему я получаю эту ошибку?Как я могу решить?Я не уверен, как файл не может существовать, когда сам цикл сгенерировал это имя файла для поиска

from PIL import Image
import os

db = "/Users/Scott/Pictures/Photos Library.photoslibrary/Masters/"

folders = []
for i, j, y in os.walk(db):
    folders.append(i)

num = 0
meta_data = []

for folder in folders:
    for photo in os.listdir(folder):
        if photo.endswith(".JPG") or photo.endswith(".PNG") or photo.endswith(".jpg"):
            num = num + 1
            img = Image.open(photo)
            meta = img.getexif()
            meta_data.append(meta)


print(num)
print(len(meta_data))

Traceback (most recent call last):
  File "/Users/Scott/PycharmProjects/EXIF/EXIT.py", line 29, in <module>
    img = Image.open(photo)
  File "/Users/Scott/PycharmProjects/EXIF/venv/lib/python3.7/site-packages/PIL/Image.py", line 2652, in open
    fp = builtins.open(filename, "rb")
FileNotFoundError: [Errno 2] No such file or directory: 'IMG_0438.JPG'

Process finished with exit code 1

mac os , PyCharm , Python3

1 Ответ

0 голосов
/ 26 апреля 2019

Я неправильно понял, как работает фото петля.Фактический путь, который я хочу открыть, является комбинацией обоих циклов

img = Image.open(folder + "/" + photo)

...