python关闭print的输出信息

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

python关闭print的输出信息

修炼之路     2022-05-23 我要评论

有时候我们需要关闭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")

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们