Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
属性错误:';str';对象没有属性';解码';在使用Python从AVRO读取数据时_Python_Avro - Fatal编程技术网

属性错误:';str';对象没有属性';解码';在使用Python从AVRO读取数据时

属性错误:';str';对象没有属性';解码';在使用Python从AVRO读取数据时,python,avro,Python,Avro,我得到了这个错误 “AttributeError:'str'对象没有“decode”属性。 如果有人能告诉我怎么了, 提前感谢。在Python3中,常规字符串是unicode,没有解码方法。bytestring可以 我对avro一无所知,您也没有显示错误堆栈。但是很可能datafile.DataFileReader需要一个已在rb模式下打开的文件。或者它接受文件名,并且打开本身(numpy读卡器接受文件名或打开的文件)。在Python3中,常规字符串是unicode,没有解码方法。bytestr

我得到了这个错误

“AttributeError:'str'对象没有“decode”属性。

如果有人能告诉我怎么了,
提前感谢。

在Python3中,常规字符串是
unicode
,没有
解码方法。bytestring可以


我对avro一无所知,您也没有显示错误堆栈。但是很可能
datafile.DataFileReader
需要一个已在
rb
模式下打开的文件。或者它接受文件名,并且
打开本身(
numpy
读卡器接受文件名或打开的文件)。

在Python3中,常规字符串是
unicode
,没有
解码方法。bytestring可以


我对avro一无所知,您也没有显示错误堆栈。但是很可能
datafile.DataFileReader
需要一个已在
rb
模式下打开的文件。或者它接受文件名,并且
本身是否打开(
numpy
读卡器接受文件名或打开的文件)。

如果您正在读取二进制文件,则在打开它时必须使用
'rb'
作为模式。如果您正在读取二进制文件,则在打开它时必须使用
'rb'
作为模式。
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()