既存のオブジェクトのオブジェクト参照を埋め込むPythonコードの を取得する方法はありますか?言い換えれば既存の変数名からPyObject参照を取得することは可能ですか?
: 「OBJ」と呼ばれるオブジェクトがすでに、(スクリプトによって作成された)が存在し と私はPyObject *参照に、それを「変換」する必要がある場合は、同様の機能があります:PyObject * getObjectReferenceは( char * name)?
EDIT: 一例として、 は
PyRun_SimpleString("var = 1");
(または、同様にそれは同じ変数を定義する外部スクリプト可能性を使用することによって、の私は、コードの一部にいくつかのモジュールをインポートするとしましょう)
コードの別のポイントで、私はその変数を取得したいと思います。私は部分的に暗黙のうちに、それを作成したモジュールへの参照を持たずにグローバル定義された変数を取得することはできませんと言って私の質問に答え、「reading a global variable of python in c」
PyObject *varPy = PyObject_GetGlobalObject("var");
のようなものを探しています。これは正しいです?
あなたは何をしようとしているかを示すコードをいくつか追加できますか? – tynn
あなたの編集に応じて:変数が入っているモジュールの名前を知っていれば、それをインポートしてモジュールへの参照を取得できます(すでにインポートされているモジュールのインポートには問題ありません)。 – DavidW
また、 'PyRun_SimpleString'のドキュメントを参照すると、' __main__'モジュールが実行されていることがわかります – DavidW