python 2.6/2.7 tab 补全方法.(mac)
一. mac 方法此方法经过测试.可以成功.
来源:http://stackoverflow.com/questions/7116038/python-tab-completion-mac-osx-10-7-lion
1 import readline,rlcompleter
2
3 ### Indenting
4 class TabCompleter(rlcompleter.Completer):
5 """Completer that supports indenting"""
6 def complete(self, text, state):
7 if not text:
8 return (' ', None)
9 else:
10 return rlcompleter.Completer.complete(self, text, state)
11
12 readline.set_completer(TabCompleter().complete)
13
14 ### Add autocompletion
15 if 'libedit' in readline.__doc__:
16 readline.parse_and_bind("bind -e")
17 readline.parse_and_bind("bind '\t' rl_complete")
18 else:
19 readline.parse_and_bind("tab: complete")
20
21 ### Add history
22 import os
23 histfile = os.path.join(os.environ["HOME"], ".pyhist")
24 try:
25 readline.read_history_file(histfile)
26 except IOError:
27 pass
28 import atexit
29 atexit.register(readline.write_history_file, histfile)
30 del histfile
二.windows 方法
为进行相关测试.
三.常用linux方法
1. 下载readline模块
http://newcenturycomputers.net/projects/readline.html
2. install readlinemodule
3. edit and configure pythonstartup file
# 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)
del os, histfile, readline, rlcompleter
4. add the enviroment varable to system with administrator role
For windowns
pythonstartupf=path/pythonstartup.py
For Linux
add the following to you ~/.bash_profile
export PYTHONSTARTUP=~/.pythonstartup
页:
[1]