Python實現(xiàn)Tab自動補全和歷史命令管理的方法
本文實例講述了Python實現(xiàn)Tab自動補全和歷史命令管理的方法。分享給大家供大家參考。具體分析如下:
Python的startup文件,即環(huán)境變量 PYTHONSTARTUP 對應的文件
1. 為readline添加tab鍵自動補全的功能
2. 像Shell一樣管理歷史命令
代碼如下:
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,測試是否生效吧
相關文章
進行數(shù)據(jù)處理的6個?Python?代碼塊分享
這篇文章主要介紹了進行數(shù)據(jù)處理6個Python代碼塊的分享,分享內容有選取有空值的行、快速替換列值、對列進行分區(qū)、將一列分為多列等內容,需要的朋友可以參考一下2022-04-04python3模擬實現(xiàn)xshell遠程執(zhí)行l(wèi)inux命令的方法
今天小編就為大家分享一篇python3模擬實現(xiàn)xshell遠程執(zhí)行l(wèi)inux命令的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07