zoukankan      html  css  js  c++  java
  • Mac或者linux系统自动加载python tab补全功能

      因为mac OS属于类unix系统,所以基本和linux系统使用相差不大,只是用户登陆时自动执行环境变量文件的区别

    mac系统:

    ShanedeMBP:login_api shane$ vi ~/.bash_profile

    linux系统:

    [root@localhost ~]# ls -a .bash*
    .bash_history  .bash_logout  .bash_profile  .bashrc

    linux中有bash_profile,bashrc,以下是区别:


    /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.

    /etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.

    ~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该
    文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
    ~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取
    ~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件. 
    另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是"父子"关系.
    ~/.bash_profile 是交互式、login 方式进入 bash 运行的
    ~/.bashrc 是交互式 non-login 方式进入 bash 运行的
    通常二者设置大致相同,所以通常前者会调用后者。


    写一个tab.py,Code:

    import sys
    import readline
    import rlcompleter
    
    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")

    然后在.bash_profile文件中追加一行即可。

    export PYTHONSTARTUP=/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/tab.py

     source下.bash_profile文件,即可自动补全。

    另外,tab.py存放路径,可通过python中的sys模块查询:

    import sys
    print(sys.path)

    执行结果:

    >>> import sys
    >>> print(sys.path)
    ['', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python35.zip', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages']
    >>> 

    一般存放于带site-packages字符的目录。

  • 相关阅读:
    oracle-游标总结
    js动态获取下拉框的数据(搜索条件之间互相影响)
    poi实现excel数据导入到mysql数据库(加上excel的验证)
    windows10下ActiveMQ的安装和启动
    hexo发表博文
    前端Web安全介绍及规避。。。
    小程序:pages/index/index/出现脚本错误或未正确调用Page()
    初步了解产品经理(个人笔记)
    浏览器唤起APP的思路(本文转载)
    常见浏览器兼容性问题总结
  • 原文地址:https://www.cnblogs.com/ccorz/p/5481472.html
Copyright © 2011-2022 走看看