python-3.x - 有没有办法使用 Flatbuffers 读取/写入多个结构或行?
问题描述
我使用 Flatbuffers 作为存储数据和元标记与数据的一种方式。我正在使用 Python,为了模拟字典,我有两个表结构:一个用于字典条目,一个用于保存条目向量。这是架构的示例:
// Define dictionary structure
table tokenEntry{
key:string;
value:int;
}
table TokenDict{
Entries:[tokenEntry];
}
root_type TokenDict;
我希望使用 Flatbuffers 将两个字典写入一个文件。我还想从文件中一次读取一个字典,而不是同时将它们加载到内存中。我可以将两者都写入文件,一次一个。但是,当我从文件中读取时,我会同时获得两个结构。缓冲区保存文件中的所有数据。这不是我想要的,因为稍后我将在文件中拥有大量数据。有没有办法一次只读一个?
例如,如果我要使用 pickle 结构,我可以将多个 pickle 写入一个文件,然后一次读回一个。我希望对 Flatbuffers 做同样的事情。
谢谢你。
解决方案
最好将文件写成一系列单独的 FlatBuffers,每个都以大小为前缀。您可以使用 Python 在 Python 中执行此操作FinishSizePrefixed
(请参阅 参考资料builder.py
)。
推荐阅读
- unity3d - 围绕一个点统一旋转对象
- python - 使用 CFFI 构建 Python-C 扩展,但 Setuptools 在构建中不包含自定义头文件
- ruby-on-rails - 为什么 ActiveRecord 无法创建并出现错误“x 必须存在”但查询“x.exists?” 返回真?
- r - 迭代某类列的重复操作
- google-api - 适用于 iOS 电子邮件客户端的 Google OAuth 开发者验证
- javascript - 在 HTML 中动态创建的元素上运行函数
- telegram - 有没有办法用电报机器人发送链接并且在点击/点击时不显示警报?
- graphql - Apollo 客户端订阅适用于 Playground,但不适用于 Expo 应用
- machine-learning - 在优化问题中使用神经网络
- php - 我总是听说要使用准备好的陈述,但是在 wordpress 中呢?