Python shell自动补齐

来源:互联网 发布:网络名誉侵权案例 编辑:程序博客网 时间:2024/05/19 23:10

习惯了在terminal下执行命令时候总是习惯用tab来补齐命令,可惜在terminal下使用python或者是spyder的时候shell并没有这个功能。无意中在学习《Python基础教程》时候发现一个rlcompleter模块。好奇之下,查了一下reference,结果发现了这么个好东西:

从此过上了python自动补齐的好日子,哈哈!



官方文档的Example如下:

>>> import rlcompleter>>> import readline>>> readline.parse_and_bind("tab: complete")>>> readline. <TAB PRESSED>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")

保存后重启terminal:

$python

如果看到一下“Python start up...”说明设置成功了。

Python 2.7.6 (default, Mar 22 2014, 22:59:56) [GCC 4.8.2] on linux2Type "help", "copyright", "credits" or "license" for more information.Python start up...>>> 

OK,好好享受吧!


参考资料:

https://docs.python.org/2/library/rlcompleter.html?highlight=rlcompleter#module-rlcompleter

0 0
原创粉丝点击