新手学习python的时候,如何没有tab键补全功能,我感觉那将是一个噩梦,对于我们这种菜鸟来说,刚接触python,对一切都不了解,还好有前辈们的指导,学习一下,并记录下来,还没有学习这个功能小伙伴们!赶紧get吧!
[root@localhost ~]# python
Python 2.6.6 (r266:84292, Oct 12 2012, 14:23:48)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-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/gst-0.10', '/usr/lib64/python2.6/site-packages/gtk-2.0', '/usr/lib64/python2.6/site-packages/webkit-1.0', '/usr/lib/python2.6/site-packages']
[root@localhost ~]# cd /usr/lib64/python2.6
[root@localhost python2.6]# vim tab.py
#!/usr/bin/env python
# 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
root@localhost python2.6]# python
Python 2.6.6 (r266:84292, Oct 12 2012, 14:23:48)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tab
>>> sys.
sys.__class__( sys.__reduce_ex__( sys.builtin_module_names sys.exitfunc( sys.maxsize sys.setprofile(
sys.__delattr__( sys.__repr__( sys.byteorder sys.flags sys.maxunicode sys.setrecursionlimit(
sys.__dict__ sys.__setattr__( sys.call_tracing( sys.float_info sys.meta_path sys.settrace(
sys.__displayhook__( sys.__sizeof__( sys.callstats( sys.getcheckinterval( sys.modules sys.stderr
sys.__doc__ sys.__stderr__ sys.copyright sys.getdefaultencoding( sys.path sys.stdin
sys.__excepthook__( sys.__stdin__ sys.displayhook( sys.getdlopenflags( sys.path_hooks sys.stdout
sys.__format__( sys.__stdout__ sys.dont_write_bytecode sys.getfilesystemencoding( sys.path_importer_cache sys.subversion
sys.__getattribute__( sys.__str__( sys.exc_clear( sys.getprofile( sys.platform sys.version
sys.__hash__( sys.__subclasshook__( sys.exc_info( sys.getrecursionlimit( sys.prefix sys.version_info
sys.__init__( sys._clear_type_cache( sys.exc_type sys.getrefcount( sys.ps1 sys.warnoptions
sys.__name__ sys._current_frames( sys.excepthook( sys.getsizeof( sys.ps2
sys.__new__( sys._getframe( sys.exec_prefix sys.gettrace( sys.py3kwarning
sys.__package__ sys.api_version sys.executable sys.hexversion sys.setcheckinterval(
sys.__reduce__( sys.argv sys.exit( sys.maxint sys.setdlopenflags(
[root@localhost ~]# cd ~
[root@localhost ~]# vim .bashrc
export PYTHONSTARTUP=/usr/lib64/python2.6/tab.py
[root@localhost ~]# source .bashrc
OK,那么现在我们就可以不用每次进行python之后进行import tab 动作来使tab键补全功能生效了。