第一種是利用sys.argv模組
importsys上面這些都是後面的引數值了,在函式主體內可以獲取這些值或者判斷這些值來做出響應,比如寫乙個help函式,如果判斷=='help',則可以輸出help資訊printsys.argv 輸出整個命令列,以list的格式,所以有時候可以通過判斷這個list的長度來判斷是否有引數值輸入。
printsys.argv[0]
printsys.argv[1]
printsys.argv[2]
上面的方法比較簡單,也很實用
第二種方法是利用optionparser模組,這個功能比較強大。
我個人理解這個模組的相比較sys模組,就是對輸入引數有了乙個細緻的操作處理,對於使用者要輸入的引數通過乙個簡單的標示來進行分類各自處理,也可以在一條命令列中對於不同的引數都有乙個不同的處理,sys肯定會有順序要求,因為他只能通過列表的順序來獲取引數
比如下面這個,我可以輸入i 或者p , 都會對應乙個變數來得到它, filename = i後面的引數值,putname = p後面引數值,這樣在函式內部就可以呼叫了
下面這段**是乙個簡單的只有2個選項的**,如有需要可以再加,但是簡單的結構有了,以後的**可以直接用dest是你的函式裡所需要的變數名,當你的命令列裡有i,那麼就會來賦值你的filename=你輸入的在i後面的引數。
fromoptparseimportoptionparser當輸入-h 時也可以直接列印出你裡面寫的幫助資訊,很好用,我們可以看到這裡的filename=sun, putname=jin,就按照我們的意願賦值成功了,指令碼裡就可以直接呼叫filename和putname來使用了parse = optionparser()
parse.add_option('-i','--inputfile',dest='filename',help='please input your file')
parse.add_option('-p','--putfile',dest='putname',help='please put your name')
#(options,argvs) = parse.parse_args()
options = parse.parse_args()[0] 這裡引數值對應的引數名儲存在這個options字典裡
printoptions
用options.filename和filename.putname字典的使用方法。
獲取命令列引數
在win32控制台應用程式中,主函式為 int main intargc,char argv 其中argc為引數個數,我們可以如此呼叫 for i 0 i 在win32應用程式中呢?主函式為 int winapi winmain hinstancehinstance,hinstancehprevin...
python獲取命令列輸入的引數
from optparse import optionparser optparser optionparser optparser.add option f file action store type string dest filename optparser.add option v ver...
python getopt 獲取命令列引數
python 中 getopt 模組,該模組是專門用來處理命令列引數的函式 getopt args,shortopts,longopts args一般是sys.argv 1 shortopts 短格式 longopts 長格式 命令列中輸入 python test.py i 127.0.0.1 p ...