問題タブ [pyobject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
240 参照

python - Python 3.5.1、モジュールを削除してもグローバル変数が破棄されない

python35.dll をロードするアプリがあります。Python API PyImport_AddModule を使用して、py ファイルを実行します。そして PyDict_DelItemString を使用してモジュールを削除します。py ファイルにはグローバル変数があります。モジュールを削除するために PyDict_DelItemString を呼び出しても、グローバル変数は破棄されません。Py_Finalize を呼び出すと、グローバル変数が破棄されます。手遅れです。それがメモリリークの原因です。Py_Initialize はアプリの起動時に呼び出されるため、Py_Finalize はアプリのシャットダウン時に呼び出されます。

ただし、python33.dll では問題ありません。PyDict_DelItemString を呼び出してモジュールを削除すると、グローバル変数が破棄される可能性があります。

問題を解決するには?回避策はありますか? 私は python35.dll を使用する必要があり、PyDict_DelItemString を呼び出してモジュールを削除するときに、モジュール内のグローバル変数が自動的に解放されることを望みます。

Python テスト コードは次のとおりです。

0 投票する
1 に答える
961 参照

python - C++、PyObject からのパラメーターを使用して Python コンストラクターを作成する

私はこのようなpythonクラスを持っていAます。

このコードをこのように呼び出す必要があります。

現在、AC++ コードからこのクラスを使用する必要があります。私はここまで来ました。

しかし、私はエラーが発生しています

例外 TypeError: '/usr/lib64/python2.7/threading.pyc' からのモジュール 'threading' の 'argument list must be tuple'

importfromステートメントからa.print_name("John")from C++への変換方法を教えてください。どんな助けでも大歓迎です。

0 投票する
1 に答える
865 参照

python - 既存の変数の名前から PyObject 参照を取得することは可能ですか?

埋め込まれた Python コードで、既存のオブジェクトのオブジェクト参照を取得する方法はありますか?

つまり、'obj' というオブジェクトが (スクリプトによって作成されて) 既に存在し、それを PyObject* 参照に「変換」する必要がある場合、次のような関数はありますか? PyObject *getObjectReference(char *name) ?

編集:例として、コードの一部にいくつかのモジュールをインポートするとします。

(または、同じ変数を定義する外部スクリプトである可能性もあります)

さて、コードの別のポイントで、その変数を取得したいと思います。私は次のようなものを探しています

c で python のグローバル変数を読み取る」は、それを作成したモジュールへの参照がなければ、グローバルに定義された変数を取得することはできないと暗黙のうちに言って、私の質問に部分的に答えます。これは正しいです?

0 投票する
1 に答える
1995 参照

python-2.7 - C++ に埋め込む Python New Style クラスのインスタンスを作成する

コードPyObjectの一部を に埋め込む作業を行っています。Pythonインスタンスを作成するために使用するとうまくいく解決策を見つけました。ただし、このような新しいスタイルの python クラスでは機能しません。pythonC++python 2.7PyInstance_New

私の古いコード ( python 2.7) では、クラス定義はオブジェクト クラスから継承されず、print_nameこのようにメソッドを呼び出すためにインスタンスを作成します。PS ファイル名は A.py です。

python 3.xしかし、上記のコードは、 newではではなく をtype(class)返すため、もう機能しません。今、私はこのエラーが発生しています。objectinstance

内部関数への引数が正しくありません。

どんな助けでも大歓迎です。ありがとうございました。