具体实现步骤如下
1.编写具体的实现tab补全功能的脚本,名为tab.py
#!/usr/bin/python # python tab complete 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) del os, histfile, readline, rlcompleter
2.查看当前服务器python的模块路径
>>> import sys >>> sys.path ['', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib/python2.7/site-packages'] >>>
python的模块放在了/usr/lib64/python27下面,将脚本拷贝到该目录下,在使用时导入即可。
3.导入tab
>>> import tab
>>> import os
>>> os.
Display all 249 possibilities? (y or n)
4.但python读取模块的路径顺序优先是从当前目录开始,所以若是当前目录也存在tab.py,但内容不同的python脚本,则可能会报错,所以在环境变量中也指定tab.py脚本
#for python export PYTHONSTARTUP=/usr/lib64/python2.7/tab.py