Skip to main content
AI Assist is now on Stack Overflow. Start a chat to get instant answers from across the network. Sign up to save and share your chats.
2 of 3
Update to Python 3. Python 2 is deprecated
oak
  • 3k
  • 3
  • 36
  • 65

I had the same idea as Frédéric, but i wrote a context manager to handle replacing stdout:

import sys from io import StringIO import contextlib @contextlib.contextmanager def stdoutIO(stdout=None): old = sys.stdout if stdout is None: stdout = StringIO() sys.stdout = stdout yield stdout sys.stdout = old code = """ i = [0,1,2] for j in i : print j """ with stdoutIO() as s: exec(code) print("out:", s.getvalue()) 
Jochen Ritzel
  • 108.3k
  • 33
  • 205
  • 196