26 lines
616 B
Python
26 lines
616 B
Python
|
import os
|
||
|
import atexit
|
||
|
import readline
|
||
|
|
||
|
if "PYTHONHISTFILE" in os.environ:
|
||
|
histfile = os.path.expanduser(os.environ["PYTHONHISTFILE"])
|
||
|
elif "XDG_STATE_HOME" in os.environ:
|
||
|
histfile = os.path.join(os.path.expanduser(
|
||
|
os.environ["XDG_STATE_HOME"]), "python", "python_history")
|
||
|
else:
|
||
|
histfile = os.path.join(os.path.expanduser("~"), ".python_history")
|
||
|
|
||
|
|
||
|
histfile = os.path.abspath(histfile)
|
||
|
_dir, _ = os.path.split(histfile)
|
||
|
os.makedirs(_dir, exist_ok=True)
|
||
|
|
||
|
|
||
|
try:
|
||
|
readline.read_history_file(histfile)
|
||
|
except FileNotFoundError:
|
||
|
pass
|
||
|
|
||
|
|
||
|
atexit.register(readline.write_history_file, histfile)
|