从外部程序/控制台读取

时间:2016-05-16 11:24:05

标签: c# console output streamreader

我遇到问题,我需要执行一个控制台程序,我必须在我的程序中显示该控制台的输出信息。我有一个名为&#34的字符串变量;结果"必须存储该信息,但始终为空,我不知道为什么。谁能帮我?我把代码放在下面:

NavigateUri

在控制台上,我收到8382 JGK,但我的结果变量总是""。

2 个答案:

答案 0 :(得分:0)

你可以试试这样的事情

CREATE TABLE public.messages
(
  id character(100) NOT NULL,
  "userId" character(100),
  "createdAt" timestamp without time zone,
  CONSTRAINT messages_pkey PRIMARY KEY (id)
)
 WITH (
  OIDS=FALSE
);

查看结果数组是否包含任何内容。

答案 1 :(得分:0)

我解决了!问题出在文件的路径上。我必须把它放在与“.py”文件相同的文件夹中,它工作正常。我添加了正确的代码:

 string python = @"C:\xxx\python.exe";
        string myPythonApp = "program.py";
        string x = @"file.jpg";

        ProcessStartInfo myProcessStartInfo = new ProcessStartInfo(python);
        myProcessStartInfo.UseShellExecute = false;
        myProcessStartInfo.RedirectStandardOutput = true;
        myProcessStartInfo.Arguments = myPythonApp + " " + x;

        Process myProcess = new Process();
        myProcess.StartInfo = myProcessStartInfo;
        myProcess.StartInfo.CreateNoWindow = true;
        myProcess.Start();
        StreamReader myStreamReader = myProcess.StandardOutput;
        string myString = myStreamReader.ReadLine();
        myProcess.WaitForExit();
        myProcess.Close();
        textBox1.Text = myString;