2016-10-22 53 views
0
from avro import io, datafile 
import pprint 
OUTFILE_NAME = "demo.avro" 
rec_reader = io.DatumReader() 
df_reader = datafile.DataFileReader(open(OUTFILE_NAME, 'r'), rec_reader) 
pp = pprint.PrettyPrinter() 
for record in df_reader: 
    pp.pprint(record) 
df_reader.close() 

從AVRO閱讀我收到此錯誤AttributeError的:「海峽」對象有沒有屬性「解碼」,而使用Python

"AttributeError: 'str' object has no attribute 'decode'".

如果有人能指導我什麼錯誤, 謝謝提前。

+0

如果您正在閱讀二進制文件,則在打開它時必須使用「rb''作爲模式。 – spectras

回答

0

在Python3中,常規字符串是unicode,並且沒有decode方法。一個字節串。

我對avro一無所知,並且不顯示錯誤堆棧。但是,datafile.DataFileReader預計在rb模式下打開的文件是一個很好的猜測。或者,它可能需要文件名,並且open本身(numpy閱讀器接受文件名或打開的文件)。

相關問題