我認爲內存中類似文件的對象應該像文件一樣行爲。我沒能獲得Textract「讀」一個Textract無法讀取JpegImageFile(StringIO對象)
<StringIO.StringIO instance at 0x05039EB8>
雖然程序運行正常,如果我保存JPEG文件保存到磁盤,並在正常過程讀取。
jpeg文件正在從pdf中提取,每Ned Batchelder的優秀博客Extracting JPGs from PDFs。相關代碼如下:
type(jpg) --> str (on 2.7)
buff = StringIO.StringIO()
buff.write(jpg)
buff.seek(0)
type(buff) --> instance
print buff --><StringIO.StringIO instance at 0x05039EB8>
dt=Image.open(buff)
print dt --><PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=2630x597 at 0x58C2A90>
text=textract.process(dt)`
此行失敗。 Textract無法讀取JpegImageFile
如果我做
text=textract.process(buff.getvalue())
我得到一個錯誤:must be encoded string without NULL bytes, not str
我如何Textract從內存中的文件或流讀?