小编典典

防止在Python的批处理控制台中打印功能

python

好吧,在我看来,标题已经足够。我使用某些功能在某些时候在控制台中打印某些内容。由于无法修改它们,因此我想知道是否存在一种解决方案,可以在使用这些功能时不进行打印。

非常感谢 !

尼科


阅读 222

收藏
2020-12-20

共1个答案

小编典典

是的,您可以重定向sys.stdout

import sys
import os

old_stdout = sys.stdout # backup current stdout
sys.stdout = open(os.devnull, "w")

my_nasty_function()

sys.stdout = old_stdout # reset old stdout

只需替换my_nasty_function为您的实际功能即可。

编辑: 现在应该也可以在Windows上工作。

编辑: 当有人再次包装您的函数时,使用备份变量重置stdout更好

2020-12-20