用Python时没有tab补全还是挺痛苦的,记录一下添加该功能的方法利人利己
1. 先准备一个tab.py的脚本
shell> cat tab.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/usr/bin/python
# python tab 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
|
2. 查看Python默认的模块存放地址
1
2
3
4
5
6
7
|
[root@localhost ~]
# python
Python
2.6
.
6
(r266:
84292
, Nov
22
2013
,
12
:
16
:
22
)
[GCC
4.4
.
7
20120313
(Red Hat
4.4
.
7
-
4
)] on linux2
Type
"help"
,
"copyright"
,
"credits"
or
"license"
for
more information.
>>>
import
sys
>>> sys.path
['
', '
/
usr
/
lib64
/
python26.
zip
', '
/
usr
/
lib64
/
python2.
6
', '
/
usr
/
lib64
/
python2.
6
/
plat
-
linux2
', '
/
usr
/
lib64
/
python2.
6
/
lib
-
tk
', '
/
usr
/
lib64
/
python2.
6
/
lib
-
old
', '
/
usr
/
lib64
/
python2.
6
/
lib
-
dynload
', '
/
usr
/
lib64
/
python2.
6
/
site
-
packages
', '
/
usr
/
lib64
/
python2.
6
/
site
-
packages
/
gtk
-
2.0
', '
/
usr
/
lib
/
python2.
6
/
site
-
packages
', '
/
usr
/
lib
/
python2.
6
/
site
-
packages
/
setuptools
-
0.6c11
-
py2.
6.egg
-
info']
|
3. 拷贝该脚本到默认模块存放路径
1
|
cp
tab.py
/usr/lib64/python2
.6/
|
4. 现在可以用了
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
>>>
import
tab
>>>
import
sys
>>> sys.
sys.__class__( sys.__reduce_ex__( sys.builtin_module_names sys.exitfunc( sys.last_type( sys.py3kwarning
sys.__delattr__( sys.__repr__( sys.byteorder sys.flags sys.last_value sys.setcheckinterval(
sys.__dict__ sys.__setattr__( sys.call_tracing( sys.float_info sys.maxint sys.setdlopenflags(
sys.__displayhook__( sys.__sizeof__( sys.callstats( sys.getcheckinterval( sys.maxsize sys.setprofile(
sys.__doc__ sys.__stderr__ sys.copyright sys.getdefaultencoding( sys.maxunicode sys.setrecursionlimit(
sys.__excepthook__( sys.__stdin__ sys.displayhook( sys.getdlopenflags( sys.meta_path sys.settrace(
sys.__format__( sys.__stdout__ sys.dont_write_bytecode sys.getfilesystemencoding( sys.modules sys.stderr
sys.__getattribute__( sys.__str__( sys.exc_clear( sys.getprofile( sys.path sys.stdin
sys.__hash__( sys.__subclasshook__( sys.exc_info( sys.getrecursionlimit( sys.path_hooks sys.stdout
sys.__init__( sys._clear_type_cache( sys.exc_type sys.getrefcount( sys.path_importer_cache sys.subversion
sys.__name__ sys._current_frames( sys.excepthook( sys.getsizeof( sys.platform sys.version
sys.__new__( sys._getframe( sys.exec_prefix sys.gettrace( sys.prefix sys.version_info
sys.__package__ sys.api_version sys.executable sys.hexversion sys.ps1 sys.warnoptions
sys.__reduce__( sys.argv sys.exit( sys.last_traceback sys.ps2
|