starting some Python script from C#

tatamata zlatko.matic1 at sb.t-com.hr
Sun May 28 05:07:53 EDT 2006


Hello. I tried to implement ypour suggestion, but an error apears:
"Exception System.ComponentModel.Win32Exception was thrown in debugee:
The specified executable is not a valid Win32 application.

StartWithCreateProcess()
Start()
Start()
Main() - c:\Documents and Settings\Zlatko\My Documents\SharpDevelop 
Projects\CS_script\CS_script\Main.cs:32,5  "

The C# code is the following:

/*
 * Created by SharpDevelop.
 * User: Zlatko
 * Date: 28.5.2006
 * Time: 9:38
 *
 * To change this template use Tools | Options | Coding | Edit Standard 
Headers.
 */
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Windows.Forms;

namespace CS_script
{
 class MainClass
 {
  public static void Main(string[] args)
  {

    System.Diagnostics.ProcessStartInfo psi =new 
System.Diagnostics.ProcessStartInfo();
    psi.FileName="my_script.py";
    psi.WorkingDirectory=Environment.CurrentDirectory;
    psi.RedirectStandardOutput = true;
    psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
    psi.UseShellExecute = false;
    psi.CreateNoWindow = true;

    System.Diagnostics.Process script;
    script = System.Diagnostics.Process.Start(psi);

    System.IO.StreamReader myOutput = script.StandardOutput;
    script.WaitForExit(2000);
    if (script.HasExited)
     {
     string output = myOutput.ReadToEnd();
     //this.processResults.Text = output;
    }
    MessageBox.Show("finished!");
  }
 }
}

When running the program, I have the following error:

"Exception System.ComponentModel.Win32Exception was thrown in debugee:
The specified executable is not a valid Win32 application.

StartWithCreateProcess()
Start()
Start()
Main() - c:\Documents and Settings\Zlatko\My Documents\SharpDevelop 
Projects\CS_script\CS_script\Main.cs:32,5  "

"Gerard Flanagan" <grflanagan at yahoo.co.uk> je napisao u poruci interesnoj 
grupi:1148728940.440692.166330 at i39g2000cwa.googlegroups.com...
> tatamata wrote:
>> Hello.
>>
>> How can I run some Python script within C# program?
>>
>
> ---------------------------------------------------------------------------------
>            ProcessStartInfo startInfo;
>            Process process;
>            string directory;
>            string pyArgs;
>            string script;
>
>            startInfo = new ProcessStartInfo("python");
>            startInfo.WorkingDirectory = directory;
>            startInfo.Arguments = script + " " + pyArgs;
>            startInfo.UseShellExecute = false;
>            startInfo.CreateNoWindow = true;
>            startInfo.RedirectStandardOutput = true;
>            startInfo.RedirectStandardError = true;
>
>            process = new Process();
>            process.StartInfo = startInfo;
>            process.Start();
>
>            string s;
>            while ((s = process.StandardOutput.ReadLine()) != null)
>            {
>                //do something with s
>            }
> ---------------------------------------------------------------------------------
>
> HTH
>
> Gerard
> 





More information about the Python-list mailing list