如何隐藏pyttsx3中的所有文本输出

时间:2019-07-12 19:03:15

标签: python-3.x

如何在 pyttsx3

中隐藏所有输出或打印

这是一些示例代码:

import pyttsx3
engine = pyttsx3.init()
engine.say("I will speak this text")
engine.runAndWait()

我有一个cli项目,并使用pyttsx3 lib

我运行项目并使用 pyttsx

在命令行中打印文本

请查看图片:https://ibb.co/LN3jyMN

1 个答案:

答案 0 :(得分:0)

您可以尝试以下

选项2(已更新)

# Add these to the top of your .py file

import os, sys

class HiddenPrints:
    def __enter__(self):
        self._original_stdout = sys.stdout
        sys.stdout = open(os.devnull, 'w')
        self._original_stderr = sys.stderr
        sys.stderr = open(os.devnull, 'w')

    def __exit__(self, exc_type, exc_val, exc_tb):
        sys.stdout.close()
        sys.stdout = self._original_stdout
        sys.stderr.close()
        sys.stderr = self._original_stderr

然后像这样调用您的代码

with HiddenPrints():
    engine = pyttsx3.init()
    engine.say("I will speak this text")
    engine.runAndWait()