supress printing from certain funtion in python code example
Example 1: python turn off printing
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("This wont print")
Example 2: python prevent print output
import io
import sys
def salute(name):
"""Says hi to someone."""
print('Hi, {}!'.format(name))
stdouttext_trap = io.StringIO()
sys.stdout = text_trap
salute('Anne')
stdout function
sys.stdout = sys.__stdout__