如何使用头文件中定义的C struct foo作为Python代码中的数据类型?
(This document似乎没有解决这个问题。)
typedef struct {
PyObject_HEAD
/* Type-specific fields go here. */
struct api_query query; /* instead of PyObject * type here */
} api_Request;
答案 0 :(得分:0)
构建扩展模块不是一项简单的任务(您链接到的文档确实详细说明了如何执行此操作)。要以这种方式包装C结构,您需要定义新类型和Python的常用方法(构造函数,析构函数,访问方法等)。
您可能会发现ctypes
包是一种更简单的方法。
更好的是,如果你需要做的只是创建结构并发送它(如你所说的那样发送到套接字),如果结构足够简单,那么struct.pack
函数可能是最简单的。 / p>