代码改变世界

python添加tab键自动补全功能

  abce  阅读(1233)  评论(0编辑  收藏  举报

默认python是没有tab键补全功能的:

1
2
3
4
5
>>> import tab
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named tab
>>>

  

创建tab.py文件

# vi tab.py

添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/python
# python tab 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默认的模块存放地址

1
2
3
4
5
6
7
8
# python
Python 2.7.5 (default, Oct 11 2015, 17:47:16)
[GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages']
>>>

  

将tab.py文件拷贝到/usr/lib64/python2.7/

1
# cp tab.py  /usr/lib64/python2.7/

  

这样就可以使用tab补全了:

1
2
3
4
5
6
7
8
9
10
11
12
>>> import tab
>>> import sys
>>> sys.
sys.__class__(              sys.exitfunc(
sys.__delattr__(            sys.flags
sys.__dict__                sys.float_info
sys.__displayhook__(        sys.float_repr_style
sys.__doc__                 sys.getcheckinterval(
sys.__excepthook__(         sys.getdefaultencoding(
sys.__format__(             sys.getdlopenflags(
sys.__getattribute__(       sys.getfilesystemencoding(
......

  

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示