python关闭print的输出信息

Posted 修炼之路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python关闭print的输出信息相关的知识,希望对你有一定的参考价值。

导读

有时候我们需要关闭print输出信息,我们可以通过控制sys.stdout来实现print输出的开关,一个简单的示例如下

import sys
print("1111111")
#关闭print的输出
sys.stdout = open(os.devnull, 'w')
print("2222222")
#打开print的输出
sys.stdout = sys.__stdout__
print("3333333")

上面代码的缺点在于,每次关闭之后,如果想要重新使用print进行输出,就需要打开。
我们还可以通过with来控制影响print输出的范围,在with范围外就不会受到影响

import os, sys

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

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

with HiddenPrints():
  print("111111")
print("222222")

以上是关于python关闭print的输出信息的主要内容,如果未能解决你的问题,请参考以下文章

python关闭print的输出信息

java执行python脚本获取返回值问题

python程序的输入输出(input()/print()/eval())

python print 控制台输出中文

尝试重定向我的python脚本的输出时出现语法错误[关闭]

Python基础(使用print()函数输出格式化字符串)