PyObject* obj = ....
PyObject *ret = PyObject_CallMethod(obj, "foo", "(s)", "An arg");
if (!ret) {
// check error...
}
PythonCAPIのドキュメントを読んでください。この場合、オブジェクトプロトコルが必要です。
PyObject* PyObject_CallMethod(PyObject *o, char *method, char *format, ...)
戻り値:新しい参照。
可変数のC引数を使用して、オブジェクトoのmethodという名前のメソッドを呼び出します。C引数はPy_BuildValue()
、タプルを生成するフォーマット文字列で記述されます。形式はNULL
、引数が指定されていないことを示す、である可能性があります。成功時またはNULL
失敗時の呼び出しの結果を返します。これはPython式と同等ですo.method(args)
。PyObject * args
を渡すだけの
場合PyObject_CallMethodObjArgs()
は、より高速な代替手段であることに注意してください。
と
PyObject* PyObject_CallMethodObjArgs(PyObject *o, PyObject *name, ..., NULL)
戻り値:新しい参照。
オブジェクトのメソッドを呼び出します。メソッドのo
名前は、名前のPython文字列オブジェクトとして指定されます。可変数の
PyObject*
引数で呼び出されます。引数は、可変数のパラメーターとそれに続く。として提供されますNULL
。成功時または
NULL
失敗時の呼び出しの結果を返します。