Python中的Boost序列化等价物
我有一个项目,其中有一个现有的Cpp,它使用boost序列化来序列化xml文件。我不允许更改现有的Cp,因此我需要在python中复制boost序列化正在做的事情。python中是否有与boost序列化具有相同逻辑的库 这是boost序列化的示例输出Python中的Boost序列化等价物,python,c++,serialization,boost,Python,C++,Serialization,Boost,我有一个项目,其中有一个现有的Cpp,它使用boost序列化来序列化xml文件。我不允许更改现有的Cp,因此我需要在python中复制boost序列化正在做的事情。python中是否有与boost序列化具有相同逻辑的库 这是boost序列化的示例输出 “22序列化::存档14 0 9本地主机8888 0 0 1” 另外,我尝试了pickle,但是pickle的输出与boost序列化不一样 这看起来不像XML。相反,它看起来可能是Boost的文本存档格式(您必须检查) 您的选择将包括: 用您编写
“22序列化::存档14 0 9本地主机8888 0 0 1”
另外,我尝试了pickle,但是pickle的输出与boost序列化不一样 这看起来不像XML。相反,它看起来可能是Boost的文本存档格式(您必须检查) 您的选择将包括:
- 用您编写的代码解析文本
- 说服C++代码的作者使用XML(很容易用Python处理)
如果您之间正在交换的数据的内容需要更改,您可以更改模式并重新编译它。您编写的C++或Python代码都不需要更改(除了解释在原语中添加的额外消息字段)。 XML存档格式与文本格式一样具有专有性。因此,即使解析器将其作为格式良好的XML读取(希望如此),也几乎不可能有效地进行解释。考虑Boost Python或Py++ 11,我想我错过了CPP文件解析XML文件的部分,然后序列化它。你是对的,它是文本存档格式。我们需要像python中那样进行boost序列化的原因是我们需要替换一个只处理发送和接收数据的进程。让我们称它为进程A。进程A处理序列化/反序列化数据并将其传递给python类。让我们称它为进程B。然后它将作为套接字发送给进程C。ABC我们需要的是删除进程A。并使用B处理数据的序列化/反序列化BA@sehe,是的,XML仍然是专有的,但至少有Python库可以很好地解析它。有点像中途之家!这是虚假的希望。相信我。除了最普通的对象图之外,所有的对象图都可以。@sehe,是的,没问题。我使用了很多商业ASN.1工具,相信我GPB的生成C++类(比较)一点都不坏。我真的希望这些东西的创造者能使用STL。。。奇怪的是,ASN.1-->Python编译器很少(几乎没有),这是一个真正的麻烦,这就是为什么我到目前为止没有提到它。那么,我错过了CPP文件解析xml然后使用boost archive对其进行序列化的部分