1、需要子產品:sys來擷取參數
參數個數:len(sys.argv)
腳本名: sys.argv[0]
參數1: sys.argv[1]
參數2: sys.argv[2]
2、通過getopt.getopt(args, options[, long_options]) 來解析參數
import sys, getopt
opts, args = getopt.getopt(sys.argv[1:], "hi:o:")
input_file=""
output_file=""
for op, value in opts:
if op == "-i":
input_file = value
elif op == "-o":
output_file = value
elif op == "-h":
usage()
sys.exit()
其中"hi:o:"就表示"h"是一個開關選項;"i:"和"o:"則表示後面應該帶一個參數。
調用getopt函數傳回兩個清單:opts和args。opts為分析出的格式資訊。args為不屬于格式資訊的剩餘的指令行參數。opts是一個兩元組的清單。每個元素為:(選項串,附加參數)。如果沒有附加參數則為空串’'。如果截獲錯誤,getopt會抛異常,是以用如下方式截取異常:
try:
opts, args = getopt.getopt(sys.argv[1:], 'ho:i:')
except getopt.GetoptError as e:
# 列印幫助資訊并退出
print(str(e))
sys.exit(2)
該函數還有第三個參數,支援長選項,如
長選項格式舉例:
--version
--file=error.txt
讓一個腳本同時支援短選項和長選項
getopt.getopt(sys.argv[1:], "hi:o:", ["version", "file="])