为了对我的照片进行深度学习模型自动分类,我想将我所有删除的照片复制到Mac的照片中(不幸的是,“恢复”照片将其放回了主相册,因此我不知道它最初是被删除的)
如何访问已删除的照片? 看看“照片”包,数据组织相当模糊
同时:我如何访问每张照片上的“收藏夹”标签(我的模型应分类为收藏夹/已删除/未删除)
一开始我是个Python主义者
Thx, 罗曼
我找到了这个包:https://pypi.org/project/osxphotos/#osxphotos 这应该可以解决问题,但我有一个错误:
import osxphotos
path = "/Users/romain/Pictures/Photothèque.photoslibrary/"
photosdb = osxphotos.PhotosDB(path)
给出:
ValueError Traceback (most recent call last)
/Applications/anaconda3/envs/python38/lib/python3.8/site-packages/osxphotos/photosdb/photosdb.py in _process_database4(self)
798 try:
--> 799 self._dbphotos[uuid]["imageDate"] = datetime.fromtimestamp(row[5] + td)
800 except ValueError:
ValueError: year 0 is out of range
During handling of the above exception, another exception occurred:
TypeError Traceback (most recent call last)
<ipython-input-8-42282d7447c7> in <module>
1 import osxphotos
2 path = "/Users/romain/Pictures/Photothèque.photoslibrary/"
----> 3 photosdb = osxphotos.PhotosDB(path)
/Applications/anaconda3/envs/python38/lib/python3.8/site-packages/osxphotos/photosdb/photosdb.py in __init__(self, dbfile, *dbfile_)
287
288 if int(self._db_version) <= int(_PHOTOS_4_VERSION):
--> 289 self._process_database4()
290 else:
291 self._process_database5()
/Applications/anaconda3/envs/python38/lib/python3.8/site-packages/osxphotos/photosdb/photosdb.py in _process_database4(self)
799 self._dbphotos[uuid]["imageDate"] = datetime.fromtimestamp(row[5] + td)
800 except ValueError:
--> 801 self._dbphotos[uuid]["imageDate"] = datetime.date(1970, 1, 1)
802
803 self._dbphotos[uuid]["mainRating"] = row[6]
TypeError: descriptor 'date' for 'datetime.datetime' objects doesn't apply to a 'int' object
我修改了文件:
#self._dbphotos[uuid]["imageDate"] = datetime.date(1970, 1, 1)
self._dbphotos[uuid]["imageDate"] = datetime(1970, 1, 1)
我是你引用的软件包的作者。首先,感谢您为这个bug打开了一个问题,我已经修复了这个bug,并且测试用例应该首先捕获到这个bug。我还添加了一个新的“intrash”属性,以便您可以访问最近删除的照片。您需要通过git更新到v0.30.0,如果使用pip,则需要执行
pip install upgrade osxphotos
这里有一个简短但完整的程序,可以导出已删除的照片、未删除的照片和喜爱的照片。它缺乏错误检查等,但应该足以让你开始
相关问题 更多 >
编程相关推荐