Я играл с Python.Net в течение недели, но я не могу найти ни одного примера кода для использования Python.Net во встроенном виде, хотя в исходном коде Python.Net есть несколько встроенных тестов. Я просмотрел множество тем из предыдущего списка рассылки (Python.Net), результаты не согласованы и невежественны.
Что я пытаюсь сделать, так это получить результат (PyObject po) из кода С# после выполнения команды python, такой как «print 2 + 3», из приглашения python через Python.Net, потому что IronPython не совместим с модулем, который я сейчас с использованием.
Когда я выполнил его из nPython.exe, он вывел 5, как я и ожидал. Однако, когда я запускаю этот код из встроенного способа из С#. он всегда возвращает 'null'. Не могли бы вы дать мне несколько мыслей, как я могу получить результат выполнения?
Спасибо, Спарк.
Среды: 1. Windows 2008 R2, .Net 4.0. Скомпилирован Python.Net с Python27, UCS2 на VS2012 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();
}
}
}