Добавить пользовательские метаданные непосредственно в файл exr
У меня есть рабочие коды Python ниже, которые могут добавить метаданные 'Artist' во всем файле exr внутри d:\temp. Он работает, записывая во временный exr-файл, удаляя оригинал и переименовывая темп обратно в оригинал для каждого файла.
Основная проблема - скорость (особенно по сети). Как я могу напрямую добавить метаданные в файл exr? Это должно быть в http://excamera.com/articles/26/doc/index.html но я не могу найти его:(
import os
import OpenEXR
path = r'd:\temp'
names = [each for each in os.listdir(path)]
for n in sorted(names):
fileFullPath = os.path.join(path, n)
if OpenEXR.isOpenExrFile(fileFullPath):
DIR = os.path.dirname(fileFullPath)
fileFullPathTemp = DIR + '/tmp.exr'
tgtFile = OpenEXR.InputFile(fileFullPath)
h = tgtFile.header()
channels = h['channels'].keys()
h['artist'] = 'Peter'
outFile = OpenEXR.OutputFile(fileFullPathTemp, h)
outFile.writePixels(dict(zip(channels, tgtFile.channels(channels))))
outFile.close()
tgtFile.close()
try:
os.remove (fileFullPath)
os.rename (fileFullPathTemp, fileFullPath)
except WindowsError:
print 'Deleting and renaming file failed'
print n