Stockcxx / src /classes /SuppressOutput.py
jarvisx17's picture
Upload 46 files
9bf26a6 verified
raw
history blame contribute delete
919 Bytes
'''
* Project : Screenipy
* Author : Pranjal Joshi
* Created : 07/05/2021
* Description : Class for supressing stdout & stderr
'''
import os, sys
class SuppressOutput:
def __init__(self,suppress_stdout=False,suppress_stderr=False):
self.suppress_stdout = suppress_stdout
self.suppress_stderr = suppress_stderr
self._stdout = None
self._stderr = None
def __enter__(self):
devnull = open(os.devnull, "w")
if self.suppress_stdout:
self._stdout = sys.stdout
sys.stdout = devnull
if self.suppress_stderr:
self._stderr = sys.stderr
sys.stderr = devnull
def __exit__(self, *args):
if self.suppress_stdout:
sys.stdout = self._stdout
if self.suppress_stderr:
sys.stderr = self._stderr