我试图在python中使用libfreefare,我决定使用ctypes。 我理解如何在Python中复制结构,但是我不知道如何重现特定的东西。
考虑这个结构:
struct mifare_tag {
nfc_device *device;
nfc_iso14443a_info info;
const struct supported_tag *tag_info;
int active;
};
以下typedef:
typedef struct mifare_tag *MifareTag;
如何在ctypes中制作MifareTag的等价物?
答案 0 :(得分:1)
这是ctypes中的普通结构声明。这样的事情(不知道nfc _ * - 类型,它显然不会完整。
from ctypes import Structure, POINTER, c_int
class mifare_tag(Structure):
_fields_ = [
("device", POINTER(nfc_device)),
("info", nfc_iso14443a_info),
("tag_info", POINTER(supported_tag)),
("active", c_int),
]
MifareTag = POINTER(mifare_tag)