Spaces:
Runtime error
Runtime error
| import sys | |
| from io import StringIO | |
| from IPython import get_ipython | |
| class IpyExit(SystemExit): | |
| """Exit Exception for IPython. | |
| Exception temporarily redirects stderr to buffer. | |
| """ | |
| def __init__(self): | |
| # print("exiting") # optionally print some message to stdout, too | |
| # ... or do other stuff before exit | |
| sys.stderr = StringIO() | |
| def __del__(self): | |
| sys.stderr.close() | |
| sys.stderr = sys.__stderr__ # restore from backup | |
| def ipy_exit(): | |
| raise IpyExit | |
| if get_ipython(): # ...run with IPython | |
| exit = ipy_exit # rebind to custom exit | |
| else: | |
| exit = exit # just make exit importable | |