http://www.picklingtools.com/
有一个名为PicklingTools的库,该库可能会有用:我可以维护该库:它使您可以用C 形成数据结构,然后可以对其进行腌制/解开…这是C
,而不是C,但这应该不是问题这些天(假设您正在使用gcc / g ++套件)。
该库是一个普通的C 库(发行版中有一些C 和Python的示例,显示了如何在来自C
++和Python的套接字和文件上使用该库),但总的来说,可以使用对文件进行酸洗的基本知识。
基本思想是PicklingTools库为您提供了来自C 的“类似于python”的数据结构,以便您可以在Python / C
中进行序列化和反序列化。支持所有(?)基本类型:int,long
int,字符串,None,复杂,字典,列表,有序字典和元组。很少有挂钩可以做自定义类,但是那部分还不成熟:库的其余部分非常稳定,并且已经运行了8(?)年。
简单的例子:
#include "chooseser.h"int main(){ Val a_dict = Tab("{ 'a':1, 'b':[1,2.2,'three'], 'c':None }"); cout << a_dict["b"][0]; // value of 1 // Dump to a file DumpValToFile(a_dict, "example.p0", SERIALIZE_P0); // .. from Python, can load the dictionary with pickle.load(file('example.p0')) // Get the result back Val result; LoadValFromFile(result, "example.p0", SERIALIZE_P0); cout << result << endl;}该网站上还有其他文档(FAQ和用户指南)。
希望这是有用的:
再见
里奇
http://www.picklingtools.com/



