私は 1 週間 Python.Net で遊んでいますが、Python.Net のソースにはいくつかの埋め込みテストがありますが、Python.Net を埋め込みで使用するためのサンプル コードが見つかりません。以前のメーリング リスト (Python.Net) から多くのスレッドを検索しましたが、結果は一貫しておらず、わかりません。
私がやろうとしているのは、IronPython が現在使用しているモジュールとの互換性がないため、Python.Net を介して Python プロンプトから「print 2+3」などの Python コマンドを実行した後、C# コードから結果 (PyObject po) を取得することです。使用しています。
nPython.exe から実行すると、予想どおり 5 が出力されます。ただし、このコードを C# の組み込み方法から実行すると、. 常に「null」を返します。実行結果を取得する方法を教えてください。
ありがとう、スパーク。
環境: 1. Windows 2008 R2、.Net 4.0。VS2012 で Python27、UCS2 を使用してコンパイルされた Python.Net 2. nPython.exe は正常に動作し、「print 2+3」を実行します
using NUnit.Framework;
using Python.Runtime;
namespace CommonTest
{
[TestFixture]
public class PythonTests
{
public PythonTests()
{
}
[Test]
public void CommonPythonTests()
{
PythonEngine.Initialize();
IntPtr gs = PythonEngine.AcquireLock();
PyObject po = PythonEngine.RunString("print 2+3");
PythonEngine.ReleaseLock(gs);
PythonEngine.Shutdown();
}
}
}