2

c-api から、python 関数を名前で呼び出したいと思います。次に、Python オブジェクトのリストを引数として関数を呼び出します。

Python のドキュメントでは、メインの Python インタープリターから「Callable」オブジェクトを取得する方法が明確ではありません。

助けていただければ幸いです:

  1. 関数からアドレスを取得する
  2. PythonObject を引数として関数を呼び出します。

開発には Python 2.x シリーズを使用しています。

4

1 に答える 1

3

基本的には、Python C API を使用して関数が含まれているモジュールを取得し、関数のモジュール ディクショナリをクエリします。これは、Python コードがどこかから関数を呼び出すときに Python ランタイムが内部で行うこととほぼ同じです。

注目すべき API の関連関数はPyImport_ImportModule、 、PyModule_GetDictPyDict_GetItemおよびPyObject_CallXXX関数ファミリーです。

于 2011-07-02T19:00:58.177 に答える