我试图循环遍历由Mac的iPhoto创建的dir中的所有照片,并创建包含每个照片元数据的列表。
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 1mac,PyCharm,Python3
发布于 2019-04-26 04:40:25
我误解了照片回路是怎么工作的。我想打开的实际路径是两个循环的组合。
img = Image.open(folder + "/" + photo)
https://stackoverflow.com/questions/55860800
复制相似问题