亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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://chabaoo.cn/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)文章

  • python Flask 裝飾器順序問(wèn)題解決

    python Flask 裝飾器順序問(wèn)題解決

    這篇文章主要介紹了python Flask 裝飾器順序問(wèn)題解決,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • 進(jìn)行數(shù)據(jù)處理的6個(gè)?Python?代碼塊分享

    進(jìn)行數(shù)據(jù)處理的6個(gè)?Python?代碼塊分享

    這篇文章主要介紹了進(jìn)行數(shù)據(jù)處理6個(gè)Python代碼塊的分享,分享內(nèi)容有選取有空值的行、快速替換列值、對(duì)列進(jìn)行分區(qū)、將一列分為多列等內(nèi)容,需要的朋友可以參考一下
    2022-04-04
  • Python AES加密模塊用法分析

    Python AES加密模塊用法分析

    這篇文章主要介紹了Python AES加密模塊用法,結(jié)合具體實(shí)例形式分析了AES加密模塊的相關(guān)使用技巧與注意事項(xiàng),需要的朋友可以參考下
    2017-05-05
  • python Pillow圖像處理方法匯總

    python Pillow圖像處理方法匯總

    這篇文章主要介紹了python Pillow圖像處理方法匯總,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 跟老齊學(xué)Python之編寫(xiě)類之四再論繼承

    跟老齊學(xué)Python之編寫(xiě)類之四再論繼承

    本打算上篇文章就結(jié)束這個(gè)系列的,考慮了下,還是得加一章,算是對(duì)上一講的進(jìn)一步修改吧
    2014-10-10
  • Python代碼實(shí)現(xiàn)粒子群算法圖文詳解

    Python代碼實(shí)現(xiàn)粒子群算法圖文詳解

    這篇文章主要介紹了Python編程實(shí)現(xiàn)粒子群算法詳解,涉及粒子群算法的原理,過(guò)程,以及實(shí)現(xiàn)代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下
    2021-08-08
  • pandas改變df列的順序的方法實(shí)現(xiàn)

    pandas改變df列的順序的方法實(shí)現(xiàn)

    本文主要介紹了pandas改變df列的順序的方法實(shí)現(xiàn),主要使用 Pandas 中的 reindex() 方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • 用Python操作字符串之rindex()方法的使用

    用Python操作字符串之rindex()方法的使用

    這篇文章主要介紹了用Python操作字符串之rindex()方法的使用,是Python入門(mén)的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • python3模擬實(shí)現(xiàn)xshell遠(yuǎn)程執(zhí)行l(wèi)inux命令的方法

    python3模擬實(shí)現(xiàn)xshell遠(yuǎn)程執(zhí)行l(wèi)inux命令的方法

    今天小編就為大家分享一篇python3模擬實(shí)現(xiàn)xshell遠(yuǎn)程執(zhí)行l(wèi)inux命令的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • TensorFlow的權(quán)值更新方法

    TensorFlow的權(quán)值更新方法

    今天小編就為大家分享一篇TensorFlow的權(quán)值更新方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06

最新評(píng)論