Sono stato giocato con Python.Net per una settimana, ma non riesco a trovare alcun codice di esempio per usare Python.Net in modo integrato sebbene l'origine di Python.Net abbia diversi test di embedding. Ho cercato molti thread dalla mailing list precedente (Python.Net), i risultati non sono coerenti e sono senza tracce.Vuoi condividere la tua idea di chiamare il comando python da Python.Net incorporato?
Quello che sto cercando di fare è ottenere il risultato (PyObject po) dal codice C# dopo aver eseguito il comando python come 'print 2 + 3' dal prompt python tramite Python.Net perché IronPython non ha compatibilità con modulo che sto usando attualmente.
Quando l'ho eseguito da nPython.exe, stampa 5 come mi aspettavo. Tuttavia, quando eseguo questo codice da modo incorporato da C#. restituisce 'null' sempre. Mi daresti qualche pensiero su come posso ottenere il risultato dell'esecuzione?
Grazie, Spark.
Enviroments: 1. Windows 2008 R2, .Net 4.0. Python.Net Compilato con Python27, UCS2 a VS2012 2. nPython.exe funziona bene per eseguire '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();
}
}
}
Nel frattempo, quando lo si esegue come un'applicazione di console, funziona correttamente e visualizza l'output correttamente, ma non viene visualizzato quando corro sotto il codice di un metodo. Qualche suggerimento per ottenere l'output tramite reindirizzamento? – spark
Mi rendo conto che è passato un po 'di tempo dal tuo post, ma sto cercando di fare la stessa cosa e mi stavo chiedendo se ti ricordi che fine hai fatto. L'idea è di reindirizzare il risultato dei comandi Python dalla mia applicazione C#. – Spry