亲宝软件园·资讯

展开

python关闭print的输出信息

修炼之路   人气:0

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

加载全部内容

相关教程
猜你喜欢
用户评论