Guest User

Untitled

a guest
Jan 30th, 2020
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.94 KB | None | 0 0
  1. def embed():
  2.     import os
  3.     import readline
  4.     import rlcompleter
  5.     import code
  6.     import inspect
  7.     import traceback
  8.  
  9.     history = os.path.join(os.path.expanduser('~'), '.python_history')
  10.     if os.path.isfile(history):
  11.         readline.read_history_file(history)
  12.  
  13.     frame = inspect.currentframe().f_back
  14.     namespace = frame.f_locals.copy()
  15.     namespace.update(frame.f_globals)
  16.  
  17.     readline.set_completer(rlcompleter.Completer(namespace).complete)
  18.     readline.parse_and_bind("tab: complete")
  19.  
  20.     file = frame.f_code.co_filename
  21.     line = frame.f_lineno
  22.     function = frame.f_code.co_name
  23.  
  24.     stack = ''.join(traceback.format_stack()[:-1])
  25.     print(stack)
  26.     banner = f" [ {os.path.basename(file)}:{line} in {function}() ]"
  27.     banner += "\n Entering interactive mode (Ctrl-D to exit) ..."
  28.     try:
  29.         code.interact(banner=banner, local=namespace)
  30.     finally:
  31.         readline.write_history_file(history)
Advertisement
Add Comment
Please, Sign In to add comment