WPFでPythonメソッドを呼び出す方法は?

WPFでPythonメソッドを呼び出すには、次の方法があります。

  1. 副プロセス
using System.Diagnostics;
public void CallPythonScript()
{
ProcessStartInfo start = new ProcessStartInfo();
start.FileName = "python"; // 设置Python解释器的路径
start.Arguments = "script.py"; // 设置要执行的Python脚本的路径
start.UseShellExecute = false;
start.RedirectStandardOutput = true;
using (Process process = Process.Start(start))
{
using (StreamReader reader = process.StandardOutput)
{
string result = reader.ReadToEnd();
// 处理Python脚本的输出结果
}
}
}
  1. IronPythonライブラリを使用できる。IronPythonは、.NET Framework上でPythonコードを実行するオープンソース実装です。WPFプロジェクトにIronPythonライブラリを追加し、IronPython APIを呼び出すことでPythonコードを実行できます。サンプルコードを以下に示します。
using IronPython.Hosting;
public void CallPythonScript()
{
var engine = Python.CreateEngine();
var scope = engine.CreateScope();
var source = engine.CreateScriptSourceFromFile("script.py"); // 设置要执行的Python脚本的路径
source.Execute(scope);
// 获取Python脚本中的方法并调用
var method = scope.GetVariable("method_name"); // 设置Python脚本中的方法名
method.Invoke();
}
  1. Python.NETライブラリを使用する。Python.NETライブラリは、.NETとPythonとの相互運用ライブラリです。Python.NETライブラリをWPFプロジェクトに追加することで、Python.NET APIを呼び出すことでPythonコードを実行できます。サンプルコードは以下のようになります。
using Python.Runtime;
public void CallPythonScript()
{
PythonEngine.Initialize();
dynamic module = Py.Import("script"); // 设置要导入的Python模块名
dynamic method = module.method_name; // 设置Python模块中的方法名
method.Invoke();
PythonEngine.Shutdown();
}

上記のサンプルコードはあくまでも参考例であり、実際に使用する際には具体的な状況に応じて調整する必要があります。

bannerAds