У меня есть программа, которая проверяет файлы Raw. Когда файл Raw поврежден, я получаю сообщение на консоли. Я хотел бы захватить это сообщение.
Сообщение, когда файл поврежден: /Volumes/64GB/CheckRawFiles/IMG_0409.CR2: данные повреждены в 9961503 Это сообщение на консоли я хотел бы захватить в переменной.
#!/usr/bin/env python3
import rawpy
import imageio
import os
def IsRawFile(pFileName):
fName, x, ext = pFileName.rpartition('.')
ok = False
ext = ext.lower()
if (ext in ['nef', 'cr2', 'arw']) and fName[0] != '.':
ok = True
return ok
if __name__ == '__main__':
pPath = '/Volumes/64GB/CheckRawFiles/'
for root, subdirs, files in os.walk(pPath):
for filename in files:
if IsRawFile(filename):
print (filename)
raw = rawpy.imread(os.path.join(root, filename))
rgb = raw.postprocess()
# --> message when file is corrupted:
# /Volumes/64GB/CheckRawFiles/IMG_0409.CR2: data corrupted at 9961503
# this message on console I would like to capture
raw.close()