Python的交互式解释器没有自带像Linux Shell那样的命令自动补全功能,也没有命令历史记录,可以编写一个脚本来实现这两个功能:
# python startup file
import sys
import readline
import rlcompleter
import atexit
import os
# tab completion
readline.parse_and_bind('tab: complete')
# history file
histfile = os.path.join(os.environ['HOME'], '.pythonhistory')
try:
readline.read_history_file(histfile)
except IOError:
pass
atexit.register(readline.write_history_file, histfile)
在Linux系统中使用这个脚本的方法主要有两种,一种是把它当做一个python模块,使用的时候导入,另一种是让它在用户登录时自动执行。
我的操作环境为:CentOS 7.0.1406,Python 2.7.5
第一种方法,将以上脚本保存为startup.py,并放到python库的存放路径,我的系统中是/usr/lib64/python2.7/site-packages/,然后在进入交互式解释器时先用import命令将其导入:[fred@Livingston ~]$ python
Python 2.7.5 (default, Jun 17 2014, 18:11:42)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import startup
>>>
第二种方法,将脚本保存为.pythonstartup并放在用户的家目录下,然后在环境信息文件~/.bashrc或者~/.bash_profile中添加下面这行,就可以在每次登录时自动执行这个脚本了:export PYTHONSTARTUP=~/.pythonstartup