Welcome 微信登录

首页 / 操作系统 / Linux / Python 添加tab补全

在平时查看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.6 (v2.7.6:3a1db0d2747e, Nov 10 2013, 00:42:54) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwinType "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.6 (v2.7.6:3a1db0d2747e, Nov 10 2013, 00:42:54) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwinType "help", "copyright", "credits" or "license" for more information.>>> import tab,sys>>> sys.Display all 101 possibilities? (y or n) sys.__class__( sys.__hash__(sys.__sizeof__(sys.callstats( sys.getfilesystemencoding( sys.prefixsys.__class__( sys.__init__(sys.__stderr__ sys.copyrightsys.getprofile(sys.ps1 sys.__class__( sys.__init__(sys.__stdin__sys.displayhook( sys.getrecursionlimit( sys.ps2 sys.__delattr__( sys.__name__ sys.__stdout__ sys.dont_write_bytecodesys.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_infosys.setrecursionlimit(sys.__doc__sys.__reduce__(sys._clear_type_cache( sys.exec_prefixsys.maxint sys.settrace( sys.__doc__sys.__reduce__(sys._current_frames( sys.executable sys.maxsizesys.stderrsys.__egginsertsys.__reduce_ex__( sys._getframe( sys.exit(sys.maxunicode sys.stdin sys.__excepthook__(sys.__reduce_ex__( sys._mercurial sys.flagssys.meta_pathsys.stdoutsys.__format__(sys.__repr__(sys.api_versionsys.float_info sys.modulessys.subversionsys.__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_infosys.__getattribute__(sys.__setattr__( sys.byteordersys.getdefaultencoding(sys.path_importer_cachesys.warnoptions sys.__hash__(sys.__sizeof__(sys.call_tracing(sys.getdlopenflags(sys.platform>>> sys. 2.Ubuntu系统的配置文件和Mac有点不一样,同样写入一个tab.py文件到Python解释器路径下,其他的操作都不用,添加的代码如下:sudo vi /usr/lib/python2.7/dist-packages/tab.pyimport sys,readline,rlcompleter,atexit,osreadline.parse_and_bind("tab: complete")histfile = os.path.join(os.environ["HOME"], ".pythonhistory")try:readline.read_history_file(histfile)except IOError:passatexit.register(readline.write_history_file, histfile)del os, histfile, readline, rlcompleter本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/139010.htm