現在、私のアプリケーションにPythonインタプリタを埋め込もうとしています。私のアプリケーションはPoco APIを使ってロギングするので、Pythonのロギングモジュールからアクセスできるようにしたい。 これを行う最も簡単な方法は、メッセージをログに記録し、次にこれらの関数を呼び出すHandlerサブクラスを書くための拡張モジュールとして静的な関数セットを提供することです。Python/C-Api:クラスをモジュールに追加する
私は、ユーザーに追加のPythonモジュールをインストールしたくないので、組み込みのPythonインタプリタの外でコードを再利用する必要がないので、ちょうどPy_InitModule()
で静的関数を提供できれば素晴らしいでしょう作成されたモジュールにハードコードされたHandlerサブクラスを追加します(ハードコードされたものは実行時に追加されますが、実際は初期化時に常に解釈されるconst文字列です)。
私の問題私は、例えば、通常のPythonのクラス定義を解釈する方法を知らないということである:例えば、としてaccesableそれが与えられたモジュールに追加されるように
class Test:
someVar=1
とmymodule.Test
Aソリューションは、純粋なPythonベースのものでも、Pythonのc-APIでのものでもかまいません。
2は、あなたがクラスを作成またはモジュールに追加する手助けが必要ですか? –
@ IgnacioVazquez-Abramsこれをモジュールに追加する – Paranaix