Python getopt 模塊python
getopt模塊,是配合sys.argv使用的一個擴展。他能夠接收終端的參數。格式擴展爲「-n」 或 「--n」兩種類型,下面是具體解釋。ide
使用spa
improt getopt import sys # 例一 opts,args = getopt.getopt(sys.argv[1:], "ho:", ["help", "output="]) # 例二 opts,args = getopt.getopt(sys.argv[1:], "-h-o", ["help", "output"])
解釋get
語法格式爲 getopt.getopt(sys.argv[1:],...),it
getopt.getopt 爲固定語法格式。io
sys.argv[1:] 不把默認文件做爲傳入參數。class
"ho:"/"-h-o":傳入參數終端格式爲「-n」,代碼可簡寫爲"nn",也可全寫"-n-n","n:"帶個":"符號表示,後面還要傳一個值(否則會出錯)。test
["nnn","nnn="]:傳入參數終端格式爲「--nnn」,「nnn=」這個帶「=」符號的好使,後面還要傳一個值 好比 「 --nnn value」(否則會出錯)。import
分別有兩個傳入變量:opts,args : 變量
opts:表示傳入的參數,已list傳入,參數與value,沒有設置value默認爲"", 沒有字符。
args:表示傳入錯誤的參數,多出的一些錯誤格式參數會被這個args已list格式傳入。
# # python3 test2.py -v --filename filename # import getopt import sys opts,args = getopt.getopt(sys.argv[1:],'-h-f:-v',['help','filename=','version']) print(opts) for opt_name,opt_value in opts: if opt_name in ('-h','--help'): print("[*] Help info") sys.exit() if opt_name in ('-v','--version'): print("[*] Version is 0.01 ") sys.exit() if opt_name in ('-f','--filename'): fileName = opt_value print("[*] Filename is ",fileName) # do something sys.exit()