作者博文地址:http://www.cnblogs.com/liu-shuai/ 

 之前一直使用shell编程,习惯了shell的 tab 自动补全功能,而Python的命令行却不支持 tab 自动补全,故而研究让Python命令行支持自动补全功能。

1、首先找到Python调用库路径,具体方法如下:

1 >>>python27
2 >>>import sys
3 >>>sys.path
4 ['', '/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

 1 #cat tab.py
2 #!/usr/bin/env python
3 # python startup file
4 import sys
5 import readline
6 import rlcompleter
7 import atexit
8 import os
9 # tab completion
10 readline.parse_and_bind('tab: complete')
11 # history file
12 histfile = os.path.join(os.environ['HOME'], '.pythonhistory')
13 try:
14 readline.read_history_file(histfile)
15 except IOError:
16 pass
17
18 atexit.register(readline.write_history_file, histfile)
19 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.

Python-2.7 配置 tab 自动补全功能的更多相关文章

  1. Python-2.7 配置tab自动补全功能

    作者博文地址:http://www.cnblogs.com/spiritman/ 之前一直使用shell编程,习惯了shell的 tab 自动补全功能,而Python的命令行却不支持 tab 自动补全 ...

  2. Python配置tab自动补全功能

    # cat tab.py #!/usr/bin/python # python tab file import sys import readline import rlcompleter impor ...

  3. 如何为 .NET Core CLI 启用 TAB 自动补全功能

    如何为 .NET Core CLI 启用 TAB 自动补全功能 Intro 在 Linux 下经常可以发现有些目录/文件名,以及有些工具可以命令输入几个字母之后按 TAB 自动补全,最近发现其实 do ...

  4. 配置Git自动补全功能

    Git装好后,默认是不会有按tab补全命令的功能的.可如下配置: 去git的源码中,找到contrib/completion/git-completion.bash 将git-completion.b ...

  5. python环境下使用tab自动补全命令

    # vim /usr/lib/python2.7/dist-packages/tab.py 加入如下内容: #!/usr/bin/env python # python startup file im ...

  6. python学习笔记--导入tab键自动补全功能的配置

    今天开始学习Python,必须配置tab键补全功能 1.首先我们需要查看python的安装路径 [root@abc ~]# python Python 2.6.6 (r266:84292, Jan 2 ...

  7. sudo和man的tab自动补全

    要加入sudo和man的tab自动补全功能,只需在~/.bashrc中加入: #Enabling tab-completioncomplete -cf sudocomplete -cf man

  8. Python中tab键自动补全功能的配置

    新手学习Python的时候,如何没有tab键补全功能,我感觉那将是一个噩梦,对于我们这种菜鸟来说,刚接触python,对一切都不了解,还好有前辈们的指导,学习一下,并记录下来,还没有学习这个功能小伙伴 ...

  9. Linux python <tab>自动补全

    为Python添加交互模式下TAB自动补全以及命令历史功能. 1.获取python目录 [root@localhost ~]# python Python 2.6.6 (r266:84292, Jul ...

随机推荐

  1. XE改变图标颜色

    放一个image,load 一张png/..图片 再放一个FillRGBEffect, 将此控价拖到image下 改变FillRGBEffect的Color,就改变了image图标上的颜色. 原图为黑 ...

  2. k8s学习笔记(一)

    你将学到什么 如何部署k8s集群 网络拓扑 主机名 网络地址 角色 study 92.0.0.50(内网) 192.168.203.250/19(外网) Master fnode 92.0.0.16( ...

  3. NSSize 尺寸

    前言 结构体,这个结构体用来表示事物的宽度和高度. typedef CGSize NSSize; struct CGSize { CGFloat width; CGFloat height; }; t ...

  4. kali linux之手动漏洞挖掘一

    默认安装漏洞 phpmyadmin/setup默认安装 ubuntu/debian默认安装php5-cgi phpmyadmin/setup默认安装 使用?-d+allow_url_include%3 ...

  5. C# Winform 加载窗体/对象时的等待页面设计

    在设计应用程序过程中,有时候加载对象需时较长,我们可以显示一个Loading等待页面,对用户来说就比较友好了. 这个还是涉及到多线程,下面是步骤. 一.创建好Loading窗体: 一个Panel用于显 ...

  6. vSphere 安装操作系统

    0.找到 vSphere Client 安装文件并安装 1.创建完成EXSI.Openfiler - 磁盘创建 * - 网卡设置 2.openfiler LVM 3.EXSI of ISCSI 4.s ...

  7. 八大排序算法的python实现(四)快速排序

    代码: #coding:utf-8 #author:徐卜灵 #交换排序.快速排序 # 虽然快速排序称为分治法,但分治法这三个字显然无法很好的概括快速排序的全部步骤.因此我的对快速排序作了进一步的说明: ...

  8. github上传Python被识别为css--解决

    在项目根目录新建文件.gitattributes 添加如下: *.css linguist-language=python把.css结尾的文件识别为python语言

  9. Flink学习笔记:Operators之Process Function

    本文为<Flink大数据项目实战>学习笔记,想通过视频系统学习Flink这个最火爆的大数据计算框架的同学,推荐学习课程: Flink大数据项目实战:http://t.cn/EJtKhaz ...

  10. Docker - CentOS 安装 Docker 和 Docker-Compose

    目录 介绍 Docker Docker-Conpose 安装 Docker CE 系统要求 使用 YUM 安装 配置加速器 安装 Docker-Compose 介绍 Docker Docker 是一个 ...