国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現Tab自動補全和歷史命令管理的方法

2019-11-25 17:57:32
字體:
來源:轉載
供稿:網友

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

Python的startup文件,即環境變量 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系統】

[~$]pythonPython 2.7.3 (default, Apr 10 2013, 06:20:15) [GCC 4.6.3] on linux2Type "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. 增加環境變量

復制代碼 代碼如下:

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

5.配置環境變量生效

復制代碼 代碼如下:

[~$]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. 下載插件:
       下載地址://m.survivalescaperooms.com/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,測試是否生效吧

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 濮阳县| 溧阳市| 琼海市| 阿克| 平湖市| 沅陵县| 新乡县| 辽阳市| 萨迦县| 富锦市| 固始县| 温泉县| 收藏| 突泉县| 南昌市| 敦化市| 齐河县| 石楼县| 日土县| 尚志市| 个旧市| 侯马市| 昭通市| 江华| 汉阴县| 老河口市| 临安市| 和静县| 五家渠市| 福清市| 吉安县| 安阳市| 大英县| 宜川县| 乡城县| 井研县| 科技| 文成县| 寻乌县| 昌平区| 珲春市|