Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. import builtins as __builtin__
  2. import sys
  3. import io
  4.  
  5. class VoidPrinter:
  6. def __init__(self):
  7. pass
  8.  
  9. def __enter__(self):
  10. self._stdout_bkp = sys.stdout
  11. self._stderr_bkp = sys.stderr
  12.  
  13. sys.stdout = io.StringIO()
  14. sys.stderr = io.StringIO()
  15.  
  16. def __exit__(self, exc_type, exc_val, exc_tb):
  17. self._stdout_trap = sys.stdout
  18. self._stderr_trap = sys.stderr
  19.  
  20. sys.stdout = self._stdout_bkp
  21. sys.stderr = self._stderr_bkp
  22.  
  23. def print(self):
  24. sys.stdout.write(self._stdout_trap.getvalue())
  25. sys.stderr.write(self._stderr_trap.getvalue())
  26.  
  27. # Examples:
  28. # 1. Hide all output to stdout/stderr:
  29. #
  30. # with VoidPrinter():
  31. # [your code]
  32. #
  33. # 2. Show the output later again (might be interesting to access error-logs)
  34. #
  35. # printer = VoidPrinter()
  36. # with printer:
  37. # [your code]
  38. # printer.print()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement