python獲取命令列引數的幾種方法總結

2021-08-03 14:57:16 字數 1652 閱讀 6217

第一種是利用sys.argv模組

importsys

printsys.argv 輸出整個命令列,以list的格式,所以有時候可以通過判斷這個list的長度來判斷是否有引數值輸入。

printsys.argv[0]

printsys.argv[1]

printsys.argv[2]

上面這些都是後面的引數值了,在函式主體內可以獲取這些值或者判斷這些值來做出響應,比如寫乙個help函式,如果判斷=='help',則可以輸出help資訊

上面的方法比較簡單,也很實用

第二種方法是利用optionparser模組,這個功能比較強大。

我個人理解這個模組的相比較sys模組,就是對輸入引數有了乙個細緻的操作處理,對於使用者要輸入的引數通過乙個簡單的標示來進行分類各自處理,也可以在一條命令列中對於不同的引數都有乙個不同的處理,sys肯定會有順序要求,因為他只能通過列表的順序來獲取引數

比如下面這個,我可以輸入i 或者p , 都會對應乙個變數來得到它, filename = i後面的引數值,putname = p後面引數值,這樣在函式內部就可以呼叫了

下面這段**是乙個簡單的只有2個選項的**,如有需要可以再加,但是簡單的結構有了,以後的**可以直接用dest是你的函式裡所需要的變數名,當你的命令列裡有i,那麼就會來賦值你的filename=你輸入的在i後面的引數。

fromoptparseimportoptionparser

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

當輸入-h 時也可以直接列印出你裡面寫的幫助資訊,很好用,我們可以看到這裡的filename=sun, putname=jin,就按照我們的意願賦值成功了,指令碼裡就可以直接呼叫filename和putname來使用了

用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 ...