print all python Structure字段值

qmo*_*mor 3 python ctypes structure

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

Jam*_*lls 5

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

请参阅:http://code.google.com/p/ctypesgen/


mcl*_*fee 5

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

def f(obj):
    for k,v in obj.__dict__.items():
        print k ,v
        if hasattr(v,'__dict__'):
            f(v)   
Run Code Online (Sandbox Code Playgroud)

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