Skip to content

Instantly share code, notes, and snippets.

@Jawabiscuit
Created January 12, 2018 15:42
Show Gist options
  • Save Jawabiscuit/ec15ba82ffef7eccd98fcc75424753e9 to your computer and use it in GitHub Desktop.
Save Jawabiscuit/ec15ba82ffef7eccd98fcc75424753e9 to your computer and use it in GitHub Desktop.
Add auto-completion and a stored history file of commands to your Python interactive interpreter.
# Add auto-completion and a stored history file of commands to your Python
# interactive interpreter. Requires Python 2.0+, readline. Autocomplete is
# bound to the Esc key by default (you can change it - see readline docs).
#
# Store the file in ~/.pystartup, and set an environment variable to point
# to it: "export PYTHONSTARTUP=/home/user/.pystartup" in bash.
#
# Note that PYTHONSTARTUP does *not* expand "~", so you have to put in the
# full path to your home directory.
import atexit
import os
import readline
import rlcompleter
readline.parse_and_bind('tab: complete')
#readline.parse_and_bind('\C-t: complete')
#readline.parse_and_bind('"\C-h": "help()\n"')
#
historyPath = os.path.expanduser("~/.pyhistory")
def save_history(historyPath=historyPath):
import readline
readline.write_history_file(historyPath)
if os.path.exists(historyPath):
readline.read_history_file(historyPath)
atexit.register(save_history)
del os, atexit, readline, rlcompleter, save_history, historyPath
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment