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)