在提供的 Python 腳本中,eSpeak 混亂的是帶有不需要的錯誤訊息的 shell。目標是抑制該輸出,同時保留所需的聲音響應。儘管沒有找到抑制 eSpeak 冗長的直接方法,但存在一種在視覺上使其輸出靜音的解決方案。
要有效隱藏輸出,請將其重新導向到使用DEVNULL 屬性的空裝置:
import subprocess subprocess.call(['echo', 'foo'], stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT)
import os FNULL = open(os.devnull, 'w') subprocess.call(['echo', 'foo'], stdout=FNULL, stderr=subprocess.STDOUT)與Shell 指令的相似性提供的解決方案類似於執行下列shell 指令:
retcode = os.system("echo 'foo' > /dev/null")透過將輸出重定向到/dev/null,可以有效地消除混亂隱藏起來,讓外殼保持乾淨以進行進一步的互動。
以上是如何在 Ubuntu 上以 Python 靜默運行子進程並抑制其輸出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!