Skip to content

Instantly share code, notes, and snippets.

@ducin

ducin/console.py

Last active Feb 9, 2021
Embed
What would you like to do?
Python script opening interactive console with current interpreter state. Thanks to readline/rlcompleter, you may use up/down arrows (history browse) or left/right arrows (line edition), see http://stackoverflow.com/questions/19754458/python-open-interactive-console-from-script)
"""
Console module provide `copen` method for opening interactive python shell in
the runtime.
"""
import code
import readline
import rlcompleter
def copen(_globals, _locals):
"""
Opens interactive console with current execution state.
Call it with: `console.open(globals(), locals())`
"""
context = _globals.copy()
context.update(_locals)
readline.set_completer(rlcompleter.Completer(context).complete)
readline.parse_and_bind("tab: complete")
shell = code.InteractiveConsole(context)
shell.interact()
import console
example_list = [1, 2, 3]
example_tuple = ('abc', 'def')
console.copen(globals(), locals())
print 'this will be continued'
@ducin

This comment has been minimized.

Copy link
Owner Author

@ducin ducin commented Oct 8, 2013

After cloning this gist, run

python test.py

in the console and type dir() to see that all modules, variables etc. are available

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment