Mac或者linux系统自动加载python tab补全功能

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

mac系统:

ShanedeMBP:login_api shane$ vi ~/.bash_profile

linux系统:

[[email protected] ~]# 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字符的目录。

时间: 2024-08-24 03:27:55

Mac或者linux系统自动加载python tab补全功能的相关文章

linux下Python tab补全功能代码

1.在学习linux的童鞋都用惯了tab补全功能,从而在学习Python的同时,一是为了方便,二是可以看到更多的关于Python命令下的知识. 2.配置步骤: (1) 在linux下键入这样的代码: vim tab.py #!/usr/bin/python # python tab file import sys import readline import rlcompleter import atexit import os #tab completion readline.parse_an

linux开机自动加载分区/etc/fstab配置文件

解释一下/etc/fstab,开机自动挂载 [[email protected] home]# cat /etc/fstab LABEL=/                 /                       ext3    defaults        1 1 LABEL=/boot             /boot                   ext3    defaults        1 2 tmpfs                   /dev/shm  

mac pro python tab补全脚本

之前习惯在win或者linux 下写python小脚本,经常先把tab补全环境配置好,到了mac下发现之前在linux下的tab.py脚本都不适用,自己参考了mac python tab补全的官网略微修改了下,发现蛮好用的. mac pro 下配置的是全局的,不需要再终端输入:python  =>import tab.py  ,这样完全没必要. 具体的mac tab 补全脚本参考下面: $ cat ~/.pythonstartup #-*- coding:utf-8 -*- import os,

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

在vim编辑器中实现python tab补全插件有Pydiction,Pydiction可以实现下面python代码的自动补全: 1. 简单python关键词补全 2. python函数补全带括号 3. python模块补全 4. python模块内函数,变量补全 5. from module import sub-module补全 第一步:安装配置pydiction $ wget https://github.com/rkulla/pydiction/archive/master.zip $

python tab补全

让python的交互解释器支持tab补全.提示功能 方法1: 一.执行python脚本 1.创建一个python脚本,以.py结尾: 脚本如下: import sys import readline import rlcompleter import atexit import os readline.parse_and_bind('tab:complete') histfile =os.path.join(os.environ['HOME'], '.pythonhistory') try: r

Red Hat 7下python tab补全

最近学习python,总结一下如何添加shell脚本,达到(对象.)时,tab按2下调用所有方法的出现. 1.首先在目录:/usr/lib64/python2.7/site-packages下面建立vim tab.py文件. 2.tab.py文件下面的内容: #!/usr/bin/python import os import readline import rlcompleter import atexit import os # tab completion readline.parse_a

unbtun python tab补全

在使用python的时候有时候总是忘记很多代码,这个是作为程序袁最头疼的事情,本人也是刚刚接触python,这几天也是用到这块,所以记录下来,已被需要时能够找到. 我的系统是: [email protected]:~$ uname -a Linux w 4.2.0-16-generic #19-Ubuntu SMP Thu Oct 8 15:35:06 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux 先看看自己的python安装路径,如果不知道的话可以根据下面的方

Python tab 补全

1. 先准备一个tab.py的脚本 shell> cat tab.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #!/usr/bin/python # python tab file   import sys import readline import rlcompleter import atexit import os # tab completion readline.parse_and_bind('tab: complete')

Linux开机自动加载的几种方法

linux 添加开机启动项的三种方法. (1)编辑文件 /etc/rc.local 输入命令:vim /etc/rc.local 将出现类似如下的文本片段: #!/bin/sh #This script will be executed after all the other init scripts.#You can put your own initialization stuff in here if you don't#want to do the full Sys V style in