rydesun/.config/python/repl_startup.py
2023-01-27 21:51:42 +08:00

30 lines
889 B
Python

import atexit
import os
import readline
from functools import partial
# 命令历史的记录文件
xdg_data_home = os.getenv(
'XDG_DATA_HOME', os.path.expanduser('~/.local/share'))
data_dir = os.path.join(xdg_data_home, 'python')
readline_history_file = os.path.join(data_dir, 'history')
try:
readline.read_history_file(readline_history_file)
except FileNotFoundError:
os.makedirs(data_dir, exist_ok=True)
open(readline_history_file, 'wb').close()
readline.read_history_file(readline_history_file)
readline.set_history_length(1000000)
atexit.register(readline.write_history_file, readline_history_file)
# 让输出的数据结构和Traceback带有语法高亮
# 需要安装python-rich
try:
from rich import inspect, pretty, traceback
pretty.install()
inspect_methods = partial(inspect, methods=True)
traceback.install()
except Exception:
pass