【问题标题】:Save data in Python and then read in C++ [closed]在 Python 中保存数据,然后在 C++ 中读取 [关闭]
【发布时间】:2016-02-24 10:06:54
【问题描述】:
  • 我有一些 Python 代码可以生成一组数据结构(它们可以由类表示,但不需要任何方法)。
  • 此数据结构将来可能会扩展或添加新结构
  • 我有一些 Android 上的 C++ 代码,它知道部分数据结构及其字段。
  • 传递数据结构的唯一方法是通过序列化到文件然后反序列化它们
  • 需要二进制格式支持。
  • 需要 Python 和 C++ 中的成熟实现。首选 BSD、MIT、Apache 许可证。
  • 速度不是关键。

我尝试过自定义格式,但很难扩展它。 类似 SAX 的解析器对于此类任务来说太低级了。

【问题讨论】:

  • 这里最重要的因素是要传递的文件格式——是否需要在另一端创建代理类,或者只是需要读取另一端的数据。为此,我建议使用 JSON 或 XML 数据格式。
  • @Greg 我试过自定义格式,但它不可扩展。
  • @Ian 期望以特定方式读取一组类中的数据。
  • 询问“我从哪里开始”的问题通常过于宽泛,不适合本网站。人们有自己解决问题的方法,因此不可能有正确的答案。好好阅读Where to Start,然后写下你的帖子。

标签: python c++ serialization deserialization


【解决方案1】:

这里最重要的因素是要传递的文件格式——无论你需要在另一端创建一个代理类,还是你只需要在另一端读取数据,只要数据格式在接收方,接收方应该知道如何处理它。

因此,最好使用众所周知且广泛使用的数据格式。主要是因为它们被广泛使用的优点,这些数据格式通常也会有一些第三方或内置库来帮助您创建数据结构文件。

为此,我建议您使用 JSON 或 XML 数据格式。 Python 已经为两者提供了序列化器:

您还可以搜索一些我认为除它们之外也可以使用的其他替代品。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-19
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    • 2019-05-19
    • 2011-10-06
    • 1970-01-01
    相关资源
    最近更新 更多