Python をアプリケーションに埋め込む方法に関するチュートリアル/手順はたくさんありますが、組み込みインタープリターを使用してアプリケーションとやり取りする方法の全体的な設計については (私が見たものではありません) 何もありません。
私が考えることができる唯一のアイデアは、プログラムでスクリプトを実行する方法 (メニュー オプションなど) をユーザーに提供することです。そのため、特定のクラス、関数、オブジェクトなどが python にエクスポートされ、一部のスクリプトが何かを実行し、そのスクリプトをプログラムから実行できます。
そのような設計は「安全」でしょうか? つまり、悪意のある/不十分に作成されたスクリプトがプログラムやコンピューターに「損傷」を与える可能性はありますか? スクリプトで利用できる機能によっては可能だと思います (たとえば、重要なファイルを上書きしようとする可能性があります)。そのようなことが起こらないようにするにはどうすればよいですか? (例: スクリプト認定、プログラム設計など)
これは実装固有ですが、スクリプトの実行が完了した後もスクリプトの効果を維持することは可能ですか? つまり、スクリプトが何かを計算する場合、スクリプトの実行が終了した後、その結果をプログラムで利用できますか? プログラムが特定のスクリプトと対話するように設定されている場合は可能だと思いますが、ほとんどのスクリプトが作成される前にプログラムがリリースされます。そして、そのようなセットアップは、スクリプト言語を埋め込むことの誤用のように思えます. スクリプトの実行結果を利用できるようにしたい場合が実際にありますか、それとも実際には発生しない不自然な状況ですか?
Python を埋め込むための他の設計はありますか?
プラグイン アーキテクチャに似た方法で python を使用するのはどうですか?
ありがとう、
マシュー・A・トッド