在提供的 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中文网其他相关文章!