<div>BTW, <span style="font-size:13px;color:rgb(34,34,34);font-family:arial,sans-serif;background-color:rgb(255,255,255)">PyObject po = PythonEngine.RunString(</span><span style="font-size:13px;color:rgb(34,34,34);font-family:arial,sans-serif;background-color:rgb(255,255,255)">strCommand); returns 'null' when running "os.getcwd()", and PythonEngine.RunSimpleString(strCommand) returns '-1'.</span></div>
<div><font color="#222222" face="arial, sans-serif"><br></font></div><div><font color="#222222" face="arial, sans-serif">Currently, I'm working on Async ways to execute a python command (some commands take long to finish a task such as switch configuration, once executing a command, and returns, then gets a result later). </font></div>
<div><font color="#222222" face="arial, sans-serif">Would you give me some suggestions how/what would be best idea for Async wrapper using Python.RunTime?</font></div><div><font color="#222222" face="arial, sans-serif"><br>
</font></div><div><font color="#222222" face="arial, sans-serif">Thanks,</font></div><div><font color="#222222" face="arial, sans-serif">Spark.<br></font><br><div class="gmail_quote">On Thu, Mar 28, 2013 at 2:35 PM, Seungweon Park <span dir="ltr"><<a href="mailto:swpark71@gmail.com" target="_blank">swpark71@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<div><br></div><div>I wrote a code PythonWrapper and SimplePythonTest which uses PythonWrapper.</div><div><br></div>
<div><br></div><div>using SimplePython;</div><div><br></div><div><div>namespace SimplePythonTest</div><div>
{</div><div>    /// <summary></div><div>    /// Python Wrapper Tests</div><div>    /// </summary></div><div>    [TestFixture]</div><div>    public class PythonTests</div><div>    {</div><div>        PythonWrapper py;</div>

<div>        /// <summary></div><div>        /// PythonTests Constructor</div><div>        /// </summary></div><div>        public PythonTests()</div><div>        {</div><div>            py = new PythonWrapper();</div>

<div><br></div><div>            py.Init();</div><div><br></div><div>            PyObject po;</div><div>            po = py.LoadModule("os");</div><div>            po = py.LoadModule("sys");</div><div>
            po = py.LoadModule("psutil");</div>
<div>        }</div><div><br></div><div>        /// <summary></div><div>        /// Python Simple Test</div><div>        /// </summary></div><div>        [Test]</div><div>        public void CommonPythonTests()</div>

<div>        {</div><div>            PyObject po = py.Execute("os.getcwd()");</div><div>            Trace.WriteLine(po.Repr());</div><div><br></div><div>            py.Close();</div><div>        }</div><div>    }</div>

<div>}</div></div><div><br></div><div><br></div><div><div>namespace SimplePython</div><div>{</div><div>    /// <summary></div><div>    /// Python Wrapper via XMLRPC/Python 2.7.3/.Net for Python.</div><div>    /// </summary></div>

<div>    public class PythonWrapper</div><div>    {</div><div>        /// <summary></div><div>        /// Inter Lock</div><div>        /// </summary></div><div>        private IntPtr gs;</div><div><br></div><div>

        /// <summary></div><div>        /// Constructor</div><div>        /// </summary></div><div>        public PythonWrapper()</div><div>        {</div><div>        }</div><div><br></div><div>        /// <summary></div>

<div>        /// Initialize PythonEngine</div><div>        /// </summary></div><div>        public void Init()</div><div>        {</div><div>            PythonEngine.Initialize();</div><div>            gs = PythonEngine.AcquireLock();</div>

<div><br></div><div>        }</div><div><br></div><div>        /// <summary></div><div>        /// Load Module</div><div>        /// </summary></div><div>        /// <param name="strModule">Module Name</param></div>

<div>        /// <returns></returns></div><div>        public PyObject LoadModule(string strModule)</div><div>        {</div><div>            return PythonEngine.ImportModule(strModule);</div><div>        }</div>

<div><br></div><div>        /// <summary></div><div>        /// Execute Python Command</div><div>        /// </summary></div><div>        /// <param name="strCommand">Python Command</param></div>

<div>        /// <returns></returns></div><div>        public PyObject Execute(string strCommand)</div><div>        {</div><div>            PyObject po = PythonEngine.RunString(strCommand);</div><div>            </div>

<div>            return po;</div><div>        }</div><div><br></div><div>        public void Close()</div><div>        {</div><div>            PythonEngine.ReleaseLock(gs);</div><div>            PythonEngine.Shutdown();</div>

<div>        }</div><div>    }</div><div>}</div></div><div><br></div><div>When testing (CommonPythonTests),  it initializes and loads modules, but PythonEngine.RunString() doesn't seem to work properly. Is any something wrong in my code which gets os.getcwd()? Furthermore, I can't find the difference between PythonEngine.RunString() and PythonEngine.RunSimpleString().</div>

<div><br></div><div>Thank you,</div><div>Spark.</div>
</blockquote></div><br></div>