1. 程式人生 > >python命令列引數解析

python命令列引數解析

一、getopt模組 

getopt.getopt(args, options[, long_options])

args為需要解析的命令列引數列表,一般為sys.argv[1:],這是因為argv[0]為指令碼的路徑。

options為希望識別的引數,如果該命令列引數需要指定一個引數值,例如-a param_a,那麼它必須跟一個冒號":",即"a:",再加上不需要指定引數值的c即為:"a:c"或者"ca:"。

使用長格式的命令列引數,例如"--b=param_b"時,需要在引數3中指定它。引數3是一個list指定了那些需要識別的長格式的引數。例如--b引數需要在getopt的引數3中指定。格式為["b="](注意它是一個列表),如果有多個,假設還有引數--d=x,--e=y,--f=z需要解析那麼需要在列表中一一指定,如:["b=","d=","e="]。

返回值包含兩個值,第一個值即已識別的-a --b -c這些引數及其值的鍵值對(option,value)。  

二、argparse模組

argparse是一個可以自動生成使用幫助的python模組

可以進行一些更復雜的設定 ,但是使用起來沒有getopt模組簡單