最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)Tab自動(dòng)補(bǔ)全和歷史命令管理的方法

 更新時(shí)間:2015年03月12日 09:31:17   作者:redraiment  
這篇文章主要介紹了Python實(shí)現(xiàn)Tab自動(dòng)補(bǔ)全和歷史命令管理的方法,實(shí)例分析了tab自動(dòng)補(bǔ)全的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(xiàn)Tab自動(dòng)補(bǔ)全和歷史命令管理的方法。分享給大家供大家參考。具體分析如下:

Python的startup文件,即環(huán)境變量 PYTHONSTARTUP 對(duì)應(yīng)的文件

1. 為readline添加tab鍵自動(dòng)補(bǔ)全的功能

2. 像Shell一樣管理歷史命令

代碼如下:

復(fù)制代碼 代碼如下:
import rlcompleter
import readline
import atexit
import os
# http://stackoverflow.com/questions/7116038/python-tab-completion-mac-osx-10-7-lion
if 'libedit' in readline.__doc__:
    readline.parse_and_bind('bind ^I rl_complete')
else:
    readline.parse_and_bind('tab: complete')
histfile = os.path.join(os.environ['HOME'], '.pyhist')
try:
    readline.read_history_file(histfile)
except IOError:
    pass
atexit.register(readline.write_history_file, histfile)
del readline, rlcompleter, histfile, os

希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。

一。這個(gè)方法可以修改shell命令行的自動(dòng)補(bǔ)全
1.獲取python目錄【我使用的是64位ubuntu系統(tǒng)】

[~$]python
Python 2.7.3 (default, Apr 10 2013, 06:20:15) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', 
'/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', 
'/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client', 
'/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch', 
'/usr/lib/python2.7/dist-packages/ubuntuone-installer', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']
>>> 

從上面看出python在我電腦上的路徑是 /usr/lib/python2.7

2.切換至該目錄寫(xiě)個(gè)startup.py的腳本,腳本目錄就是處理python中<tab>事件,腳本內(nèi)容如下

#!/usr/bin/python 
# python startup file 
     
import sys 
import readline 
import rlcompleter 
import atexit 
import os 
# tab completion 
readline.parse_and_bind('tab: complete') 
# history file 
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

3.切換至自己主目錄

復(fù)制代碼 代碼如下:

[/usr/lib/python2.7$]cd
[~$]vi .bashrc

4. 增加環(huán)境變量

復(fù)制代碼 代碼如下:

#for python
export PYTHONSTARTUP=/usr/lib/python2.7/startup.py

5.配置環(huán)境變量生效

復(fù)制代碼 代碼如下:

[~$]source .bashrc

PYTHONSTARTUP是什么東西呢?

復(fù)制代碼 代碼如下:

If this is the name of a readable file, the Python commands in that file are executed before the first prompt
is displayed in interactive mode.  The file is executed in the same name space where interactive commands are
executed so that  objects defined  or  imported in it can be used without qualification in the interactive session. 
You can also change the prompts sys.ps1 and sys.ps2 in this file.

二。這個(gè)方法能在VIM中自動(dòng)補(bǔ)全

    1. 下載插件:
       下載地址:http://m.fzitv.net/softs/305586.html

   2.拷貝致相應(yīng)的目錄

復(fù)制代碼 代碼如下:

unzip  pydiction-1.2.1.zip
cp python_pydiction.vim  /usr/share/vim/vim73/ftplugin
mkdir  /usr/share/vim/vim73/pydiction
cp complete-dict  /usr/share/vim/vim73/pydiction/
cp pydiction.py  /usr/share/vim/vim73/pydiction/

 3.修改vim配置文件

 

復(fù)制代碼 代碼如下:

 let g:pydiction_location = '/usr/share/vim/vim73/pydiction/complete-dict'
let g:pydiction_menu_height = 20
 

 OK,測(cè)試是否生效吧

相關(guān)文章

  • 17條提高工作效率的Python技巧分享

    17條提高工作效率的Python技巧分享

    這篇文章主要介紹了17條提高工作效率的Python技巧分享,掌握這些Python技巧可以讓我們的生活更加輕松,本文就日常中經(jīng)常使用到的Python技巧進(jìn)行歸納總結(jié),對(duì)于常用的17條技巧均給出了完整的代碼示例和具體講解,需要的朋友可以參考下
    2022-01-01
  • Tornado源碼分析之HTTP服務(wù)請(qǐng)求解析

    Tornado源碼分析之HTTP服務(wù)請(qǐng)求解析

    這篇文章主要為大家介紹了Tornado源碼分析之HTTP服務(wù)請(qǐng)求解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • pyqt5數(shù)據(jù)庫(kù)使用詳細(xì)教程(打包解決方案)

    pyqt5數(shù)據(jù)庫(kù)使用詳細(xì)教程(打包解決方案)

    這篇文章主要介紹了pyqt5數(shù)據(jù)庫(kù)使用教程(打包解決方案),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 詳解Python2.x中對(duì)Unicode編碼的使用

    詳解Python2.x中對(duì)Unicode編碼的使用

    這篇文章主要介紹了詳解Python2.x中對(duì)Unicode編碼的使用,Python3中Unicode被作為默認(rèn)的編碼來(lái)使用,而在目前仍被廣泛應(yīng)用的Python2的版本中Unicode卻是一個(gè)在使用中需要注意的地方,需要的朋友可以參考下
    2015-04-04
  • 用Python進(jìn)行一些簡(jiǎn)單的自然語(yǔ)言處理的教程

    用Python進(jìn)行一些簡(jiǎn)單的自然語(yǔ)言處理的教程

    這篇文章主要介紹了用Python進(jìn)行一些簡(jiǎn)單的自然語(yǔ)言處理的教程,主要用到了pandas和collections庫(kù),需要的朋友可以參考下
    2015-03-03
  • OpenCV半小時(shí)掌握基本操作之圓圈檢測(cè)

    OpenCV半小時(shí)掌握基本操作之圓圈檢測(cè)

    這篇文章主要介紹了OpenCV基本操作之圓圈檢測(cè),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Python編程中類與類的關(guān)系詳解

    Python編程中類與類的關(guān)系詳解

    在本文里小編給大家整理了關(guān)于Python編程中類與類的關(guān)系以及相關(guān)代碼知識(shí)點(diǎn),需要的朋友們可以學(xué)習(xí)下。
    2019-08-08
  • Python 保持登錄狀態(tài)進(jìn)行接口測(cè)試的方法示例

    Python 保持登錄狀態(tài)進(jìn)行接口測(cè)試的方法示例

    這篇文章主要介紹了Python 保持登錄狀態(tài)進(jìn)行接口測(cè)試的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python的print用法示例

    Python的print用法示例

    這篇文章主要介紹了Python的print用法示例,需要的朋友可以參考下
    2014-02-02
  • Python語(yǔ)言技巧之三元運(yùn)算符使用介紹

    Python語(yǔ)言技巧之三元運(yùn)算符使用介紹

    現(xiàn)在大部分高級(jí)語(yǔ)言都支持“?”這個(gè)三元運(yùn)算符(ternary operator),它對(duì)應(yīng)的表達(dá)式如下:condition ? value if true : value if false。很奇怪的是,這么常用的運(yùn)算符python居然不支持
    2013-03-03

最新評(píng)論

赞皇县| 乌鲁木齐市| 商南县| 通山县| 三河市| 泰宁县| 兴文县| 方城县| 永善县| 广宁县| 乐山市| 琼海市| 兰考县| 桃江县| 志丹县| 吴堡县| 横山县| 中方县| 方城县| 左权县| 德保县| 五常市| 积石山| 贵定县| 屏东县| 永胜县| 五台县| 化德县| 南乐县| 杂多县| 武陟县| 曲麻莱县| 墨玉县| 瓮安县| 南汇区| 盐津县| 德清县| 田阳县| 腾冲县| 四子王旗| 民丰县|