print all python Structure字段值

时间:2013-12-10 10:04:48

标签: python structure ctypes

我正在尝试编写一个可以读取.h文件的小程序,然后从.h文件中的struct生成ctypes.Structure类。然后我正在读取结构中的二进制文件。然后我需要打印出所有Structure字段值(包括数组和子结构)。我该怎么办?

2 个答案:

答案 0 :(得分:5)

已经有一个工具可以做到这一点。 (无需重新发明轮子)。

请参阅:https://github.com/davidjamesca/ctypesgen

答案 1 :(得分:4)

这是打印所有字段和子结构的基本功能。

def f(obj):
    for k,v in obj.__dict__.items():
        print k ,v
        if hasattr(v,'__dict__'):
            f(v)   

当然,您可以为函数添加条件,过滤掉不需要的数据等。