下面的代码用于读取图像exif信息。当我使用 ImageMetadata.from_buffer()函数时,如果图像不完整,则读取失败。但它的记忆并不是免费的。并且。
ImageMetadata(file_data)功能正常。
如果您进行测试,可以从非图像文件中读取,然后观察内存。
import pyexiv2
import time
import sys
import os
def read_metadata(file_data):
try:
metadata = pyexiv2.ImageMetadata(file_data)
metadata = pyexiv2.ImageMetadata.from_buffer(file_data)
metadata.read()
except Exception,e:
print e
filename = sys.argv[1]
print filename
write_metadata(open(filename).read())
time.sleep(10000)