This documentation is for an old version of IPython. You can find docs for newer versions here.

Module: utils.capture

IO capturing utilities.

3 Classes

class IPython.utils.capture.RichOutput(source='', data=None, metadata=None)

Bases: object

__init__(source='', data=None, metadata=None)
class IPython.utils.capture.CapturedIO(stdout, stderr, outputs=None)

Bases: object

Simple object for containing captured stdout/err and rich display StringIO objects

Each instance c has three attributes:

  • c.stdout : standard output as a string
  • c.stderr : standard error as a string
  • c.outputs: a list of rich display outputs

Additionally, there’s a c.show() method which will print all of the above in the same order, and can be invoked simply via c().

__init__(stdout, stderr, outputs=None)

A list of the captured rich display outputs, if any.

If you have a CapturedIO object c, these can be displayed in IPython using:

from IPython.display import display
for o in c.outputs:

write my output to sys.stdout/err as appropriate


Captured standard error


Captured standard output

class IPython.utils.capture.capture_output(stdout=True, stderr=True, display=True)

Bases: object

context manager for capturing stdout/err

__init__(stdout=True, stderr=True, display=True)