python 标准错误输出_过程的实时标准输出/错误捕获
我正在開發(fā)一個C應(yīng)用程序,我需要運行一個外部控制臺進程(例如python腳本)并實時接收腳本的輸出數(shù)據(jù)。python腳本如下所示:import time
while 1:
print("Hi Foo!")
time.sleep(.3)
以下C代碼實時打印C控制臺上的python腳本輸出:
^{pr2}$
但是,當(dāng)我試圖捕獲輸出數(shù)據(jù)并將其手動寫入控制臺時,我失敗了。根據(jù)其他帖子推薦的解決方案是這樣的,但它不起作用:static void Main(string[] args)
{
using (Process process = new Process())
{
process.StartInfo.FileName = "python.exe";
process.StartInfo.Arguments = "test.py";
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.EnableRaisingEvents = true;
process.OutputDataReceived += (s, e) => Console.WriteLine(e.Data);
process.Start();
process.BeginOutputReadLine();
process.WaitForExit();
}
}
process.StandardOutput.ReadToEnd()在阻塞模式下工作,等待進程退出并一次性返回整個輸出。實時輸出捕獲的問題到底是什么?我如何解決它?在
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的python 标准错误输出_过程的实时标准输出/错误捕获的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java的队列_java实现队列
- 下一篇: java 处理异常的场景_Java高级-