1

ヘッダー ファイルで定義されている C struct foo を Python コードのデータ型として使用するにはどうすればよいですか?

(このドキュメントはこの問題に対処していないようです。)

typedef struct {

    PyObject_HEAD

    /* Type-specific fields go here. */

     struct api_query query; /* instead of PyObject * type here */

} api_Request;
4

1 に答える 1

0

拡張モジュールの構築は簡単な作業ではありません (リンク先のドキュメントでは、その方法が詳細に説明されています)。C 構造体をそのようにラップするには、新しい型と Python のオブジェクトの通常のメソッド (コンストラクタ、デストラクタ、アクセス メソッドなど) を定義する必要があります。

ctypesパッケージの方が簡単な方法であることに気付くかもしれません。

さらに良いことに、構造を作成してそれを (あなたが言うように、ソケットに) 送信するだけでよく、構造が十分に単純であれば、struct.pack関数は最も簡単であることがわかります。

于 2013-01-31T09:47:35.107 に答える