Python getopt 模塊

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()
案例
相關文章
相關標籤/搜索