В последнее время это очень важно для того, что я считал более чистым решением этой проблемы.
import sys, traceback
class Suppressor(object):
def __enter__(self):
self.stdout = sys.stdout
sys.stdout = self
def __exit__(self, type, value, traceback):
sys.stdout = self.stdout
if type is not None:
# Do normal exception handling
def write(self, x): pass
Использование:
with Suppressor():
DoMyFunction(*args,**kwargs)