Home >Backend Development >Python Tutorial >How Can I Silently Run a Subprocess in Python on Ubuntu and Suppress its Output?
In the provided Python script, eSpeak clutter's the shell with unwanted error messages. The goal is to suppress this output while preserving the desired audible response. Despite not finding a direct way to suppress eSpeak's verbosity, a solution exists to visually silence its output.
To effectively hide the output, redirect it to a null device using the DEVNULL attribute:
import subprocess subprocess.call(['echo', 'foo'], stdout=subprocess.DEVNULL, stderr=subprocess.STDOUT)
For versions prior to Python 3.3, use the following approach:
import os FNULL = open(os.devnull, 'w') subprocess.call(['echo', 'foo'], stdout=FNULL, stderr=subprocess.STDOUT)
The provided solution is similar to running the following shell command:
retcode = os.system("echo 'foo' > /dev/null")By redirecting the output to /dev/null, the clutter is effectively hidden, leaving the shell clean for further interactions.
The above is the detailed content of How Can I Silently Run a Subprocess in Python on Ubuntu and Suppress its Output?. For more information, please follow other related articles on the PHP Chinese website!