python中使用tab补全

简介:

要能够使用import tab,最主要的是要有readline模块。默认python2.6虽然没有装tab模块,但是装了readline模块的。如下:

[root@90-163 robin]# python2.6
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 tab
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named tab
>>> import readline

>>> 

而python2.7默认tab模块和readline模块都没有安装

[root@90-163 robin]# python
Python 2.7.5 (default, Apr 16 2015, 15:21:18) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tab
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named tab
>>> import readline
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named readline

python2.6能够import readline成功的原因是因为有这个模块:/usr/lib64/python2.6/lib-dynload/readline.so (默认安装就有的),python2.7.5不能import readline成功的原因就是没有这个模块。所以将这个模块cp到python2.7的相关目录下既可以了。操作如下:

[root@90-163 lib-dynload]# cp  /usr/lib64/python2.6/lib-dynload/readline.so /usr/local/lib/python2.7/lib-dynload/
[root@90-163 lib-dynload]# python
Python 2.7.5 (default, Apr 16 2015, 15:21:18) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import readline
>>> 

然后在/usr/local/lib/python2.7/site-packages 添加一个tab.py文件即可使用import tab,内容如下;

[root@90-163 site-packages]# pwd
/usr/local/lib/python2.7/site-packages
[root@90-163 site-packages]# cat tab.py 
try:
    import readline
except ImportError:
    print("Module readline not available.")
else:
    import rlcompleter
    readline.parse_and_bind("tab: complete")

进行测试:

>>> import readline
>>> import tab
>>> import os
>>> os.w
os.wait(     os.wait3(    os.wait4(    os.waitpid(  os.walk(     os.write(  


      本文转自Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1638088,如需转载请自行联系原作者






相关文章
|
7月前
|
数据采集 机器学习/深度学习 Python
在Python中进行数据清洗和预处理缺失值处理缺失值补全
在Python中进行数据清洗和预处理缺失值处理缺失值补全
173 3
[oeasy]python0048_取整_int_float_浮点型_cast_扮演_tab_制表键_制表符
[oeasy]python0048_取整_int_float_浮点型_cast_扮演_tab_制表键_制表符
107 0
[oeasy]python0048_取整_int_float_浮点型_cast_扮演_tab_制表键_制表符
|
Python
Python编程:sublime修改TAB键为四个空格
Python编程:sublime修改TAB键为四个空格
368 0
|
机器学习/深度学习 人工智能 编译器
蚂蚁王益:Go+ 可有效补全 Python 的不足
Python 的语法很灵活,融合了很多其他语言中令人觉得方便的特点。然而 Python 的优势同时也隐含了其劣势。蚂蚁研究员王益在工业系统中对 Python 的亲身体会,更加深刻地了解到了 Python 的局限,而 Go+ 是弥补方案里最靠谱的。那么 Python 有哪些不足?Go+ 又是如何能弥补的?本文分享王益对 Go+ 补全 Python 的局限上的相关看法和尝试。
2041 0
蚂蚁王益:Go+ 可有效补全 Python 的不足
|
前端开发 Python JavaScript
Python+前端简单项目:每日一词New Tab
在网上看到了Google的New Tab插件,想想自己的英语那么差,找个可以学单词的New Tab多好,结果大神们英语都很好,并没有找到,只有一个类似的还是日语,怎么办?既然找不到就自己写一个吧。 开始动手写 先确定一下功能1.
|
Python 开发工具 IDE
Python小技巧:Python3中利用tab键进行代码提示
前言把这个文件导入到python自带的IDE下,再按TAB键就会有提示,需要readline库,在新的版本中,可能名字是gnureadline库, 需要安装 : pip install gnureadline 或 pip install readline 也可以在pipy.
1933 0
|
Python
Python配置tab自动补全功能
# cat tab.py #!/usr/bin/python # python tab file import sys import readline import rlcompleter import atexit import os # tab completion readline.
2061 0
|
开发工具 Python Shell