我已经使用Python.Net一周了,但是我无法找到任何示例代码来以嵌入方式使用Python.Net,尽管Python.Net源代码中有几个嵌入测试。我从之前的邮件列表(Python.Net)中搜索了很多线程,结果不一致且无头绪。
我的目标是在C#代码中执行python命令(例如'print 2+3')后获得结果(PyObject po),因为IronPython与我当前使用的模块不兼容。
当我从nPython.exe中执行它时,它按预期输出5。然而,当我从C#的嵌入方式运行此代码时,它总是返回“null”。你能给我一些想法,如何获取执行结果吗?
谢谢, Spark。
环境: 1. Windows 2008 R2,.Net 4.0。在VS2012中使用Python27,UCS2编译Python.Net 2. nPython.exe可以成功运行“print 2+3”
我的目标是在C#代码中执行python命令(例如'print 2+3')后获得结果(PyObject po),因为IronPython与我当前使用的模块不兼容。
当我从nPython.exe中执行它时,它按预期输出5。然而,当我从C#的嵌入方式运行此代码时,它总是返回“null”。你能给我一些想法,如何获取执行结果吗?
谢谢, Spark。
环境: 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();
}
}
}