如何在Python中重新创建这些结构

时间:2016-05-01 04:50:27

标签: python struct

我在C下面有两个嵌套结构

typedef struct tag_interest {
   float *high;// array
   float *low;// array
} sinterest;

typedef struct tag_sfutures {
   int time;
   float result;
   sinterest *interest;// array
} sfutures;

Python中有什么相同的东西?

修改 我试过这个。我还没有解析并检查这个,因为我仍然在调试之前的一些代码。

class CInterest(object):
    high = []
    low = []
    def add_high(self,High):
        self.high.append(High)
    def add_low(self,Low):
        self.low.append(Low)

class CFutures(object):
    interest = [CInterest]
    def add_interest(self,interest):
        self.interest.append(interest)
    def set_time(self,time):
        self.time = time
    def set_put(self,put):
        self.put = put

1 个答案:

答案 0 :(得分:1)

看看cstruct。

https://pypi.python.org/pypi/cstruct

它将您的struct定义作为字符串并创建一个可以使用的Python类,实例化并打包/解包二进制数据。我用它来自动生成数百个C结构,除了它的C基元列表之外没有其它问题。