import contextlib import io import sys @contextlib.contextmanager def suppress_stdout_stderr(): new_stdout, new_stderr = io.StringIO(), io.StringIO() old_stdout, old_stderr = sys.stdout, sys.stderr try: sys.stdout, sys.stderr = new_stdout, new_stderr yield finally: sys.stdout, sys.stderr = old_stdout, old_stderr