首页 > 解决方案 > 使用c#运行2 pyhon.exe

问题描述

   private void button1_Click(object sender, EventArgs e) {
    doPython("python", "C:\\Users\\COM\\Desktop\\test_files\\data_cleaning.py");
    textBox1.Text = "Data Cleaning...";
   }
   private void button4_Click(object sender, EventArgs e) {
    doPython("python", "C:\\Users\\COM\\Desktop\\test_files\\indu.py");
    textBox1.Text = "Deep learning processing...";
   }
   private static void doPython(string StartFileName, string StartFileArg) {
    Process CmdProcess = new Process();
    CmdProcess.StartInfo.FileName = StartFileName; //  
    CmdProcess.StartInfo.Arguments = StartFileArg; //  
    CmdProcess.StartInfo.CreateNoWindow = true; //   
    CmdProcess.StartInfo.UseShellExecute = false;
    CmdProcess.StartInfo.RedirectStandardInput = true; //   
    CmdProcess.StartInfo.RedirectStandardOutput = true; //   
    CmdProcess.StartInfo.RedirectStandardError = true; //
    CmdProcess.Start();
    CmdProcess.BeginOutputReadLine();
    CmdProcess.BeginErrorReadLine();
    CmdProcess.WaitForExit();
    CmdProcess.Close();
   }

我想用c#来运行2个python,所以我设计了2个按钮,让它们运行不同的python文件,但是我发现只有第一个python文件可以工作,第二个不能进入doPython,如何弄清楚这个?

标签: c#pythonprocesscom

解决方案


由于第一个按钮有效,执行第一个文件,我的想法是您可能正在处理以下问题之一:

  1. 位于的 Python 文件C:\\Users\\COM\\Desktop\\test_files\\indu.py不存在。如果是这种情况,请确保文件的路径正确,或确保文件存在于该路径中。
  2. 按钮事件处理程序未正确设置。如果是这种情况,请使用相同的代码重新实例化按钮事件处理程序。

希望这可以帮助!


推荐阅读