capturing both stderr and std to a single list of strings.
from cStringIO import StringIO | |
class Capturing(list): | |
def __enter__(self): | |
self._stdout = sys.stdout | |
self._stderr = sys.stderr | |
sys.stdout = self._stringio = StringIO() | |
sys.stderr = self._stringio | |
return self | |
def __exit__(self, *args): | |
self.extend(self._stringio.getvalue().splitlines()) | |
del self._stringio # free up some memory | |
sys.stdout = self._stdout | |
sys.stderr = self._stderr |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This comment has been minimized.