习惯了在terminal下执行命令时候总是习惯用tab来补齐命令,可惜在terminal下使用python或者是spyder的时候shell并没有这个功能。无意中在学习《Python基础教程》时候发现一个rlcompleter模块。好奇之下,查了一下reference,结果发现了这么个好东西:
从此过上了python自动补齐的好日子,哈哈!
官方文档的Example如下:
>>> import rlcompleter
>>> import readline
>>> readline.parse_and_bind("tab: complete")
>>> readline.
readline.__doc__ readline.get_line_buffer( readline.read_init_file(
readline.__file__ readline.insert_text( readline.set_completer(
readline.__name__ readline.parse_and_bind(
...
只要import rlcompleter和readline这两个模块之后,再对readline设置一下就行,十分的easy。
显然每一次开始的时候都要输入这么一大堆,太反人类了。
幸好,文档里说设置PYTHONSTARTUP环境变量便可以在python sehll启动前设置:
打开~/.bashrc 或者man bash查看一下bash的变量设置文件
添加如下命令:
export PYTHONSTARTUP=~/.pythonst.py
并在.pythonst.py填写如下代码:
# This is python shell startup script
2
3 # for Tab auto complete
4 print "Python start up..."
5 try:
6 import readline
7 except ImportError:
8 print "Module readline not available."
9 else:
10 import rlcompleter
11 readline.parse_and_bind("tab: complete")
$python
如果看到一下“Python start up...”说明设置成功了。
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Python start up...
>>>
参考资料:
https://docs.python.org/2/library/rlcompleter.html?highlight=rlcompleter#module-rlcompleter