首页 >后端开发 >Python教程 >如何在 Ubuntu 上以 Python 静默运行子进程并抑制其输出?

如何在 Ubuntu 上以 Python 静默运行子进程并抑制其输出?

DDD
DDD原创
2024-12-11 03:54:15436浏览

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