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!