激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python實現Tab自動補全和歷史命令管理的方法

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

2019-11-27 15:22redraiment Python

這篇文章主要介紹了Python實現Tab自動補全和歷史命令管理的方法,實例分析了tab自動補全的實現技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了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系統】

?
1
2
3
4
5
6
7
8
9
10
11
12
13
[~$]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>事件,腳本內容如下

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/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. 下載插件:

   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,測試是否生效吧

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 欧美日本91精品久久久久 | av在线免费看片 | 88xx成人永久免费观看 | 麻豆视频在线播放 | 色视频在线播放 | a视频网站 | 99精品国产成人一区二区 | 亚洲 91 | 国产精品免费久久久久 | 免费特黄| a一级黄色毛片 | 日韩高清影视 | 最新亚洲国产 | 日本黄色大片免费 | 在线免费日本 | 97超级碰碰人国产在线观看 | 国产精品中文在线 | 色综合久久久久久久久久久 | 污污短视频 | 黄色成年在线观看 | 免费观看国产视频 | 国产免费大片视频 | 激情小说激情电影 | 一区二区三区四区免费看 | 成年免费视频黄网站在线观看 | 国产成人精品免费视频大全最热 | 九九看片| 一区二区三区视频播放 | 久久草在线看 | 欧美黑人一级 | 国产午夜精品久久久久久免费视 | 国产女同疯狂激烈互摸 | 美国av免费看 | 久色免费 | 欧洲色阁中文字幕 | 国产成人午夜高潮毛片 | av免费在线播放网址 | 特级毛片免费视频 | 二区视频 | 欧美国产精品一区二区 | 亚洲激情91|