首頁 >後端開發 >Python教學 >如何在 Ubuntu 上以 Python 靜默運行子進程並抑制其輸出?

如何在 Ubuntu 上以 Python 靜默運行子進程並抑制其輸出?

DDD
DDD原創
2024-12-11 03:54:15439瀏覽

How Can I Silently Run a Subprocess in Python on Ubuntu and Suppress its Output?

在 Ubuntu 上靜默子程序輸出

在提供的 Python 腳本中,eSpeak 混亂的是帶有不需要的錯誤訊息的 shell。目標是抑制該輸出,同時保留所需的聲音響應。儘管沒有找到抑制 eSpeak 冗長的直接方法,但存在一種在視覺上使其輸出靜音的解決方案。

在Python 中重新導向輸出>= 3.3

要有效隱藏輸出,請將其重新導向到使用DEVNULL 屬性的空裝置:

import subprocess

subprocess.call(['echo', 'foo'],
    stdout=subprocess.DEVNULL,
    stderr=subprocess.STDOUT)

在Python中重定向輸出

3.3

對於Python 3.3先前的版本,請使用以下方法:
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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn