39 lines
834 B
Plaintext
39 lines
834 B
Plaintext
|
# startup script for python to enable saving of interpreter history and
|
||
|
# enabling name completion
|
||
|
|
||
|
# import needed modules
|
||
|
import atexit
|
||
|
import os
|
||
|
import readline
|
||
|
import rlcompleter
|
||
|
import sys
|
||
|
|
||
|
# where is history saved
|
||
|
ver = "%d.%d" % sys.version_info[:2]
|
||
|
historyPath = os.path.expanduser("~/.pyhistory%s" % ver)
|
||
|
|
||
|
|
||
|
# handler for saving history
|
||
|
def save_history(historyPath=historyPath):
|
||
|
try:
|
||
|
readline.write_history_file(historyPath)
|
||
|
except:
|
||
|
pass
|
||
|
|
||
|
|
||
|
# read history, if it exists
|
||
|
if os.path.exists(historyPath):
|
||
|
readline.set_history_length(10000)
|
||
|
readline.read_history_file(historyPath)
|
||
|
|
||
|
# register saving handler
|
||
|
atexit.register(save_history)
|
||
|
|
||
|
# enable completion
|
||
|
readline.parse_and_bind('tab: complete')
|
||
|
|
||
|
# cleanup
|
||
|
del os, atexit, readline, rlcompleter, save_history, historyPath
|
||
|
|
||
|
# vim:set ft=python:
|