欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實現(xiàn)Tab自動補全和歷史命令管理的方法

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

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

Python的startup文件,即環(huán)境變量 PYTHONSTARTUP 對應的文件

1. 為readline添加tab鍵自動補全的功能

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

代碼如下:

復制代碼 代碼如下:
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

希望本文所述對大家的Python程序設計有所幫助。

一。這個方法可以修改shell命令行的自動補全
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.切換至該目錄寫個startup.py的腳本,腳本目錄就是處理python中<tab>事件,腳本內容如下

#!/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.切換至自己主目錄

復制代碼 代碼如下:

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

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

復制代碼 代碼如下:

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

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

復制代碼 代碼如下:

[~$]source .bashrc

PYTHONSTARTUP是什么東西呢?

復制代碼 代碼如下:

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.

二。這個方法能在VIM中自動補全

    1. 下載插件:
       下載地址:http://www.dbjr.com.cn/softs/305586.html

   2.拷貝致相應的目錄

復制代碼 代碼如下:

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配置文件

 

復制代碼 代碼如下:

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

 OK,測試是否生效吧

相關文章

  • python Flask 裝飾器順序問題解決

    python Flask 裝飾器順序問題解決

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

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

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

    Python AES加密模塊用法分析

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

    python Pillow圖像處理方法匯總

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

    跟老齊學Python之編寫類之四再論繼承

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

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

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

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

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

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

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

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

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

    TensorFlow的權值更新方法

    今天小編就為大家分享一篇TensorFlow的權值更新方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06

最新評論