【问题标题】:AttributeError: 'str' object has no attribute 'decode' while reading from AVRO using PythonAttributeError:“str”对象在使用 Python 从 AVRO 读取时没有属性“decode”
【发布时间】:2016-10-22 05:38:11
【问题描述】:
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()

我收到这个错误

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

如果有人可以指导我是什么错误, 提前致谢。

【问题讨论】:

  • 如果读取的是二进制文件,打开时必须使用'rb'作为模式。

标签: python avro


【解决方案1】:

在 Python3 中,常规字符串是 unicode,并且没有 decode 方法。一个字节串可以。

我对@9​​87654323@ 一无所知,而且你没有显示错误堆栈。但可以很好地猜测datafile.DataFileReader 需要一个以rb 模式打开的文件。或者它可能需要文件名,并且 open 本身(numpy 读者接受文件名或打开的文件)。

【讨论】:

    猜你喜欢
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-26
    • 2021-07-05
    • 2021-10-30
    • 1970-01-01
    • 2021-07-06
    • 2022-01-21
    相关资源
    最近更新 更多