Python LevelDB (plyvel) - хранение байтов изображения и словаря в одном ключе
У меня есть LevelDB, который хранит байты изображения. Я хочу сохранить словарь, содержащий метаданные об изображении, в том же LevelDB под тем же ключом. Пока это работает для меня, но я хотел спросить, есть ли что-то, что может пойти не так с этим методом, и есть ли лучшие способы добиться этого?
Благодарю.
#dictionary
metadata = {'width': str(width), 'height': str(height),
'size': str(size), 'format': str(fmt),
'event_id': str(event_id)}
# storing the key-value
sub_db.put(key, img_msg.data+'.metadict.'+json.dumps(metadata))
# extracting the image-dict
a, b = value.split('.metadict.')
s3.store_fo(key, StringIO.StringIO(a))
s3.modify_metadata(key, json.loads(b))
1 ответ
Более безопасную альтернативу я решил использовать:
sub_db.put(key, img_msg.data)
sub_db.put(key+'metadict', json.dumps(metadata))
metadict = json.loads(sub_db.get(key+'metadict'))