我正在尝试使用Java编写Avro序列化文件,然后在Windows上使用Python读取它.我能够使用Java写出Avro文件,但是当我尝试使用Python读取它时,我得到一个错误"ord()期望一个字符,但找到长度为0的字符串"
文件不完整或不刷新不是错误,因为我可以完全通过Java读取文件并且读取正常.
我的python设置不是一个基本错误,因为我可以在Avro入门页面上运行示例序列化/反序列化:http://avro.apache.org/docs/current/gettingstartedpython.html
任何想法可能是什么.
我自己回答这个问题,因为我看到了各种形式的几个类似的帖子,但没有一个被回答.
问题是我使用模式"r"而不是"rb"打开我的python文件.这读取正常,直到它遇到一个十六进制0x1A的字节,它被解释为Windows上的文件结束.解决方案是将文件打开为二进制文件.
(我建议将Avro入门(Python)页面更改为使用二进制模式文件,以避免其他人遇到此问题.)
| 归档时间: |
|
| 查看次数: |
1165 次 |
| 最近记录: |