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")
加载全部内容