我有一个具有不同数据类型字段的结构。我想遍历结构字段,检查数据类型,并使用适当的值设置字段。
我可以通过字段的 .size 和 .offset 属性访问字段的大小和偏移量。如何获取字段的“类型”属性?使用type(value)不会打印特定字段的 ctypes 数据类型。如果我打印值,那么我确实看到了 ctypes 数据类型,但似乎没有直接访问它的属性。
如何直接访问类型字段描述符?
from ctypes import *
class A(Structure):
_fields_ = [("one", c_long),
("two", c_char),
("three", c_byte)]
>>> A.one
<Field type=c_long, ofs=0, size=4>
>>> A.one.offset
0
>>> A.one.size
4
>>> type(A.one)
<class '_ctypes.CField'>
理想情况下,我想获得类似于下面的片段的字段类型......
>>> A.one.type
c_long