天天看點

python腳本傳參_【python學習】腳本傳參數

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="])