在平时查看Python方法用到tab补全还是很方便的。

  • 1. mac 平台 配置如下:

      •   mac是类Unix平台,需要在添加一条配置内容到bash_profile 中(默认是没有这个文件,可以新建一个放在宿主目录下面)

        •   先新建一个tab.py的文件内容如下:
        • import rlcompleter,sys,readline
          
          if sys.platform == 'darwin' and sys.version_info[0] == 2:
          readline.parse_and_bind("bind ^I rl_complete")
          else:
          readline.parse_and_bind("tab: complete")
      •  查看当前系统的Python解释器路径

        Python 2.7. (v2.7.6:3a1db0d2747e, Nov  , ::)
        [GCC 4.2. (Apple Inc. build ) (dot )] on darwin
        Type "help", "copyright", "credits" or "license" for more information.
        >>> import sys
        >>> sys.path
        ['', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/beautifulsoup4-4.4.1-py2.7.egg', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests-2.9.0-py2.7.egg', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/testkit_lite-3.1.14-py2.7.egg', '/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages', '/Library/Python/2.7/site-packages']
      • 将刚刚新建好的tab.py 文件复制到解释器路径下面,一般放置在‘/Library/Python/2.7/site-packages/’目录下面
        •   sudo cp tab.py /Library/Python/2.7/site/packages/
      • 将配置文件的信息写入到 ~/.bash_profile 中,如果文件存在则添加在文件内容后,如果不存在则新建该文件
        • vi ~/.bash_profile    保存退出然后 source ~/.bash_profile   (让该配置文件生效)
        • export PYTHONSTARTUP=/Library/Python/2.7/site-packages/tab.py

        然后进入Python import tab 用tab则可以列出子方法如下

Python 2.7. (v2.7.6:3a1db0d2747e, Nov  , ::)
[GCC 4.2. (Apple Inc. build ) (dot )] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import tab,sys
>>> sys.
Display all possibilities? (y or n)
sys.__class__( sys.__hash__( sys.__sizeof__( sys.callstats( sys.getfilesystemencoding( sys.prefix
sys.__class__( sys.__init__( sys.__stderr__ sys.copyright sys.getprofile( sys.ps1
sys.__class__( sys.__init__( sys.__stdin__ sys.displayhook( sys.getrecursionlimit( sys.ps2
sys.__delattr__( sys.__name__ sys.__stdout__ sys.dont_write_bytecode sys.getrefcount( sys.py3kwarning
sys.__delattr__( sys.__new__( sys.__str__( sys.exc_clear( sys.getsizeof( sys.setcheckinterval(
sys.__dict__ sys.__new__( sys.__str__( sys.exc_info( sys.gettrace( sys.setdlopenflags(
sys.__displayhook__( sys.__package__ sys.__subclasshook__( sys.exc_type sys.hexversion sys.setprofile(
sys.__doc__ sys.__plen sys.__subclasshook__( sys.excepthook( sys.long_info sys.setrecursionlimit(
sys.__doc__ sys.__reduce__( sys._clear_type_cache( sys.exec_prefix sys.maxint sys.settrace(
sys.__doc__ sys.__reduce__( sys._current_frames( sys.executable sys.maxsize sys.stderr
sys.__egginsert sys.__reduce_ex__( sys._getframe( sys.exit( sys.maxunicode sys.stdin
sys.__excepthook__( sys.__reduce_ex__( sys._mercurial sys.flags sys.meta_path sys.stdout
sys.__format__( sys.__repr__( sys.api_version sys.float_info sys.modules sys.subversion
sys.__format__( sys.__repr__( sys.argv sys.float_repr_style sys.path sys.version
sys.__getattribute__( sys.__setattr__( sys.builtin_module_names sys.getcheckinterval( sys.path_hooks sys.version_info
sys.__getattribute__( sys.__setattr__( sys.byteorder sys.getdefaultencoding( sys.path_importer_cache sys.warnoptions
sys.__hash__( sys.__sizeof__( sys.call_tracing( sys.getdlopenflags( sys.platform
>>> sys.

2.Ubuntu系统的配置文件和Mac有点不一样,同样写入一个tab.py文件到Python解释器路径下,其他的操作都不用,添加的代码如下:

sudo vi /usr/lib/python2./dist-packages/tab.py

import sys,readline,rlcompleter,atexit,os

readline.parse_and_bind('tab: complete')
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 添加tab补全的更多相关文章

  1. python中TAB补全

    tab补全的代码文件tab.py #!/usr/bin/env python # python startup file import sys import readline import rlcom ...

  2. 在vim编辑器中实现python的tab补全

    在vim编辑器中实现python的tab补全 在vim编辑器中实现python tab补全插件有Pydiction,Pydiction可以实现下面python代码的自动补全:   1.简单python ...

  3. python~实现tab补全

    文章摘自:http://www.jb51.net/article/58009.htm 第一.如在在vim下实现代码的补全功能. 想要为vim实现自动补全功能,则要下载插件 cd /usr/local/ ...

  4. 在vim编辑器python实现tab补全功能

    在vim编辑器中实现python tab补全插件有Pydiction,Pydiction可以实现下面python代码的自动补全: 1. 简单python关键词补全 2. python函数补全带括号 3 ...

  5. python中的tab补全功能添加

    用Python时没有tab补全还是挺痛苦的,记录一下添加该功能的方法利人利己 1. 先准备一个tab.py的脚本 shell> cat tab.py #!/usr/bin/python # py ...

  6. python添加tab键自动补全功能

    默认python是没有tab键补全功能的: >>> import tab Traceback (most recent call last): File "<stdi ...

  7. vim编辑python脚本时Tab补全

    所属分类:成长之路 使用Linux写python脚本的时候,初期最痛苦的是什么?当然是各种库的不熟悉,知道了库,里面的方法还要挨个看,挨个记. 所以这时候,很多小伙伴使用了ipython,最强大的功能 ...

  8. python tab补全

    一.python tab补全 前提:tab补全先检查readline包是否安装,未安装通过yum安装即可 [root@CentOS_11 day01]# rpm -qa |grep readliner ...

  9. centos7安装python3 以及tab补全功能

    1.安装python3 1.1下载python源码包 网址:https://www.python.org/downloads/release/python-362/ 下载地址:https://www. ...

随机推荐

  1. javascript之闭包理解以及应用场景

    半个月没写博文了,最近一直在弄小程序,感觉也没啥好写的. 之前读了js权威指南,也写了篇博文,但是实话实说当初看闭包确实还是一头雾水.现在时隔一个多月(当然这一段时间还是一直有在看闭包的相关知识)理解 ...

  2. EntityFramework的多种记录日志方式,记录错误并分析执行时间过长原因(系列4)

    前言 Entity Framework 延伸系列目录 今天我们来聊聊EF的日志记录. 一个好的数据库操作记录不仅仅可以帮你记录用户的操作, 更应该可以帮助你获得效率低下的语句来帮你提高运行效率 废话不 ...

  3. JavaScript基础知识总结(三)

    JavaScript语法 七.循环语句 1.while 语法: while (exp) { //statements; } 说明:while (变量<=结束值) { 需执行的代码 } 例子: / ...

  4. 代码的坏味道(21)——中间人(Middle Man)

    坏味道--中间人(Middle Man) 特征 如果一个类的作用仅仅是指向另一个类的委托,为什么要存在呢? 问题原因 对象的基本特征之一就是封装:对外部世界隐藏其内部细节.封装往往伴随委托.但是人们可 ...

  5. 在redis中使用lua脚本让你的灵活性提高5个逼格

    在redis的官网上洋洋洒洒的大概提供了200多个命令,貌似看起来很多,但是这些都是别人预先给你定义好的,但你却不能按照自己的意图进行定制, 所以是不是感觉自己还是有一种被束缚的感觉,有这个感觉就对了 ...

  6. EF里Guid类型数据的自增长、时间戳和复杂类型的用法

    通过前两章Lodging和Destination类的演示,大家肯定基本了解Code First是怎么玩的了,本章继续演示一些很实用的东西.文章的开头提示下:提供的demo为了后面演示效果,前面代码有些 ...

  7. Ubuntu(Linux) + mono + jexus +asp.net MVC3 部署

    感谢  张善友 的建议,我把 微信订餐  由nginx 改成 jexus,目前运行状况来说,确实稳定了很多,再次感谢. 部署步骤参考 jexus官网:http://www.jexus.org/ htt ...

  8. Vim新手入门资料和一些Vim实用小技巧

    一些网络上质量较高的Vim资料 从我07年接触Vim以来,已经过去了8个年头,期间看过很多的Vim文章,我自己觉得非常不错,而且创作时间也比较近的文章有如下这些. Vim入门 目前为阿里巴巴高级技术专 ...

  9. C++ std::list

    std::list template < class T, class Alloc = allocator > class list; List Lists are sequence co ...

  10. 关于CommonJS规范摘录

    CommonJS规范 1. 概述 为什么要用commonjs 模块化的目的: 减少循环依赖 减少耦合,提高了模块的复用率 有利于多人开发,提高开发的效率. 规避命名的冲突.全局变量的污染.有利于代码的 ...