python如何实时捕捉cmd显示_如何从Python脚本中捕获Python解释器和/或CMD.EXE的输出?-问答-阿里云开发者社区-阿里云...
如果您正在談論python解釋器或CMD.exe,它是您腳本的“父”,那么不可能。在每個類似POSIX的系統(tǒng)中(現(xiàn)在你正在運行Windows,看起來可能有一些我不知道的怪癖,YMMV)每個進程都有三個流,標準輸入,標準輸出和標準錯誤。Bu默認(在控制臺中運行時)會將這些指向控制臺,但可以使用管道符號進行重定向:
python script_a.py | python script_b.py 這將腳本a的標準輸出流與腳本B的標準輸入流聯(lián)系起來。在此示例中,標準錯誤仍然發(fā)送到控制臺。請參閱Wikipedia 上有關標準流的文章。
如果你正在談論一個子進程,你可以像這樣從python啟動它(如果你想要雙向通信,stdin也是一個選項):
import subprocess
process = subprocess.Popen(["python", "main.py"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
x = process.stderr.readline()
y = process.stdout.readline()
process.wait() 有關管理進程的信息,請參閱Python 子進程模塊。對于通信,process.stdin和process.stdout管道被視為標準文件對象。
對于管道使用,從標準輸入讀取lassevk建議你做這樣的事情:
import sys
x = sys.stderr.readline()
y = sys.stdin.readline()
sys.stdin和sys.stdout 是上面提到的標準文件對象,在sys模塊中定義。
總結
以上是生活随笔為你收集整理的python如何实时捕捉cmd显示_如何从Python脚本中捕获Python解释器和/或CMD.EXE的输出?-问答-阿里云开发者社区-阿里云...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html广告悬浮窗口,JS实现悬浮移动窗
- 下一篇: 聚合多个文件_python数据分析与挖掘