新手必學的使用命令列實現tab鍵自動補全功能

starkbl發表於2021-09-11

新手必學的使用命令列實現tab鍵自動補全功能

具體實現步驟如下

1.編寫具體的實現tab補全功能的指令碼,名為tab.py

#!/usr/bin/python   
# python tab complete   

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

2.檢視當前伺服器python的模組路徑

>>> import sys  
>>> sys.path  
['', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2',
 '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', 
 '/usr/lib64/python2.7/site-packages', '/usr/lib/python2.7/site-packages']  
>>>

python的模組放在了/usr/lib64/python27下面,將指令碼複製到該目錄下,在使用時匯入即可。

3.匯入tab

>>> import tab  

>>> import os  

>>> os.  

Display all 249 possibilities? (y or n)  

4.但python讀取模組的路徑順序優先是從當前目錄開始,所以若是當前目錄也存在tab.py,但內容不同的python指令碼,則可能會報錯,所以在環境變數中也指定tab.py指令碼

#for python  
export PYTHONSTARTUP=/usr/lib64/python2.7/tab.py

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3705/viewspace-2837084/,如需轉載,請註明出處,否則將追究法律責任。

相關文章