新手学习python,经常要使用python命令行查找一些不熟悉的使用方法等等,但是python命令行下没有自带tab补全的功能,着实让我这新手菜了....不过这好在是个互联网的时代,没有多大的事,互联一下,特此记录。
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
代码有了,我们还需要将脚本放到python指定的目录下,可以使用sys.path来查看一下
>>> import sys
>>> sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', ..........
一般我们会将这一类代码放在/usr/local/lib/python2.7/dist-packages目录下
mv tab.py /usr/local/lib/python2.7/dist-packages
ok,下面我们可以直接导入tab模块,马上体验一下tab补全吧.....
>>> import tab
>>> filename = open('name.txt' , 'r')
>>> filename.
filename.__class__( filename.__setattr__( filename.next(
filename.__delattr__( filename.__sizeof__( filename.read(
filename.__doc__ filename.__str__( filename.readinto(
filename.__enter__( filename.__subclasshook__( filename.readline(
filename.__exit__( filename.close( filename.readlines(
filename.__format__( filename.closed filename.seek(
filename.__getattribute__( filename.encoding filename.softspace
filename.__hash__( filename.errors filename.tell(
filename.__init__( filename.fileno( filename.truncate(
filename.__iter__( filename.flush( filename.write(
filename.__new__( filename.isatty( filename.writelines(
filename.__reduce__( filename.mode filename.xreadlines(
filename.__reduce_ex__( filename.name
filename.__repr__( filename.newlines
>>> filename.
所有的功能都能很直观的看到,如果想了解具体用法,可以使用help命令来自己查看帮助信息。