首页 > c#中调用python程序

c#中调用python程序

我在一个winform的c#程序里通过process调用python程序,这个python程序里有多线程。现在问题是我调用的python程序可以跑,但是跑一会就不能运行了,但是我如果单独运行python就没有问题,这是为什么。。` publ

ic void RunPythonScript(string path, string args = "")
        {
            path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "script\\" + path;
            
            p.StartInfo.FileName = "python.exe";
            string sArguments = "\"" + path + "\"";
            if (args.Length > 0)
            {
                sArguments += " " + args;
            }
            //p.StartInfo.WorkingDirectory = "D:\\";
            p.StartInfo.Arguments = sArguments;
            p.StartInfo.UseShellExecute = false;
            p.StartInfo.RedirectStandardOutput = true;
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardError = true;
            p.StartInfo.CreateNoWindow = true;
            p.Start();
            //p.CloseMainWindow();
            //p.WaitForExit();
        }`
        
        

把下面的这行代码取消注释就可以了。前提你这个操作是在主线程之外。不然会阻塞。

//p.WaitForExit();

有没有考虑使用IronPython呢?
http://ironpython.codeplex.com/

【热门文章】
【热门文章】