Python-2.7 配置tab自动补全功能
作者博文地址:http://www.cnblogs.com/spiritman/
之前一直使用shell编程,习惯了shell的 tab 自动补全功能,而Python的命令行却不支持 tab 自动补全,故而研究让Python命令行支持自动补全功能。
1、首先找到Python调用库路径,具体方法如下:
1 >>>python27
2 >>>import sys
>>>sys.path
['', '/usr/local/python27/lib/python27.zip', '/usr/local/python27/lib/python2.7', '/usr/local/python27/lib/python2.7/plat-linux2', '/usr/local/python27/lib/python2.7/lib-tk', '/usr/local/python27/lib/python2.7/lib-old', '/usr/local/python27/lib/python2.7/lib-dynload', '/usr/local/python27/lib/python2.7/site-packages']
2、复制tab.py到Python调用库路径:/usr/local/python27/lib/python2.7
#cat 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
3、修改系统变量
#echo "export PYTHONTAB=/usr/local/python27/lib/python2.7/tab.py" >>/etc/profile
#source /etc/profile
4、查看效果
[root@web01 python2.7]# python27
Python 2.7.10 (default, Jan 12 2016, 16:23:29)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tab
>>> import sys
>>> sys.
sys.__class__( sys.argv sys.hexversion
sys.__delattr__( sys.builtin_module_names sys.long_info
sys.__dict__ sys.byteorder sys.maxint
sys.__displayhook__( sys.call_tracing( sys.maxsize
sys.__doc__ sys.callstats( sys.maxunicode
sys.__excepthook__( sys.copyright sys.meta_path
sys.__format__( sys.displayhook( sys.modules
sys.__getattribute__( sys.dont_write_bytecode sys.path
sys.__hash__( sys.exc_clear( sys.path_hooks
sys.__init__( sys.exc_info( sys.path_importer_cache
sys.__name__ sys.exc_type sys.platform
sys.__new__( sys.excepthook( sys.prefix
sys.__package__ sys.exec_prefix sys.ps1
sys.__reduce__( sys.executable sys.ps2
sys.__reduce_ex__( sys.exit( sys.py3kwarning
sys.__repr__( sys.exitfunc( sys.setcheckinterval(
sys.__setattr__( sys.flags sys.setdlopenflags(
sys.__sizeof__( sys.float_info sys.setprofile(
sys.__stderr__ sys.float_repr_style sys.setrecursionlimit(
sys.__stdin__ sys.getcheckinterval( sys.settrace(
sys.__stdout__ sys.getdefaultencoding( sys.stderr
sys.__str__( sys.getdlopenflags( sys.stdin
sys.__subclasshook__( sys.getfilesystemencoding( sys.stdout
sys._clear_type_cache( sys.getprofile( sys.subversion
sys._current_frames( sys.getrecursionlimit( sys.version
sys._getframe( sys.getrefcount( sys.version_info
sys._mercurial sys.getsizeof( sys.warnoptions
sys.api_version sys.gettrace(
>>> sys.
作者博文地址:http://www.cnblogs.com/spiritman/
Python-2.7 配置tab自动补全功能的更多相关文章
- Python-2.7 配置 tab 自动补全功能
作者博文地址:http://www.cnblogs.com/liu-shuai/ 之前一直使用shell编程,习惯了shell的 tab 自动补全功能,而Python的命令行却不支持 tab 自动补全 ...
- Python配置tab自动补全功能
# cat tab.py #!/usr/bin/python # python tab file import sys import readline import rlcompleter impor ...
- 如何为 .NET Core CLI 启用 TAB 自动补全功能
如何为 .NET Core CLI 启用 TAB 自动补全功能 Intro 在 Linux 下经常可以发现有些目录/文件名,以及有些工具可以命令输入几个字母之后按 TAB 自动补全,最近发现其实 do ...
- 配置Git自动补全功能
Git装好后,默认是不会有按tab补全命令的功能的.可如下配置: 去git的源码中,找到contrib/completion/git-completion.bash 将git-completion.b ...
- python环境下使用tab自动补全命令
# vim /usr/lib/python2.7/dist-packages/tab.py 加入如下内容: #!/usr/bin/env python # python startup file im ...
- python学习笔记--导入tab键自动补全功能的配置
今天开始学习Python,必须配置tab键补全功能 1.首先我们需要查看python的安装路径 [root@abc ~]# python Python 2.6.6 (r266:84292, Jan 2 ...
- sudo和man的tab自动补全
要加入sudo和man的tab自动补全功能,只需在~/.bashrc中加入: #Enabling tab-completioncomplete -cf sudocomplete -cf man
- Python中tab键自动补全功能的配置
新手学习Python的时候,如何没有tab键补全功能,我感觉那将是一个噩梦,对于我们这种菜鸟来说,刚接触python,对一切都不了解,还好有前辈们的指导,学习一下,并记录下来,还没有学习这个功能小伙伴 ...
- Linux python <tab>自动补全
为Python添加交互模式下TAB自动补全以及命令历史功能. 1.获取python目录 [root@localhost ~]# python Python 2.6.6 (r266:84292, Jul ...
随机推荐
- 通过代码退出IOS程序
-(void) tapClick:(UITapGestureRecognizer *)tap{ [UIViewbeginAnimations:@"exitApplication"c ...
- webStorm安装以及集成git使用!
一:安装webstorm 百度网盘地址:https://pan.baidu.com/s/1K96mg7WYHc6X3odtk7_f2g 密码:2cgd 二:破解webstorm 1:选择liste ...
- Ubuntu16.04 解决matplotlib乱码或者中文显示不了的问题(可用)
一. 下载字体 SimHei.ttf 复制到linux字体库中 sudo cp ~/SimHei.ttf /usr/share/fonts/SimHei.ttf 二.查看matplotlib配置 In ...
- List和ArrayList
1.为什么List list = new ArrayList()? 也不是非常夸张的说,一定要用List代替ArrayList接收,只是说这样是良好的编码习惯,便于以后代码可能重构. 首先要明白接口和 ...
- T+固定资产二维码管理(生成,打印)
先 来几句生硬的开场白. 不知不觉中,二维码慢慢的取代了传统的条码.原因之一就是二维码更加的时尚,原因之二便是二维码可以存储更多的信息.......... 企业的固定资产,直接贴个二维码,然后用手机扫 ...
- Bugku Crack it
知识点:kali john工具 不知道hashcat怎么样 一. 用winhex打开 发现右边有root:等信息,想到了linux系统,看了别人的wp,kali中有一个工具john可以破解密码 二. ...
- SQL注入总结篇
分类SQL注入的攻击方式根据应用程序处理数据库返回内容的不同,可以分为可显注入.报错注入和盲注. 可显注入攻击者可以直接在当前界面内容中获取想要获得的内容. 报错注入数据库查询返回结果并没有在页面中显 ...
- 理解 ajax、fetch和axios
背景 ajax fetch.axios 优缺点 ajax基于jquery,引入时需要引入庞大的jquery库,不符合当下前端框架,于是fetch替代了ajax 由于fetch是比较底层,需要我们再次封 ...
- node从搭建运行项目整体流程
1. 初始化配置基本信息: npm init (自定义配置) npm init -y (一切配置采用默认值) 在当前目录产生package.json文件,有一个dependencies用来记录该项目所 ...
- Java六大设计原则
类的设计原则 依赖倒置原则-Dependency Inversion Principle (DIP) 里氏替换原则-Liskov Substitution Principle (LSP) 接口 ...