# coding:utf-8 # 測試argparse模組的基本用法 import argparse # 建立引數解析物件,並新增指令碼用法幫助 parser = argparse.ArgumentParser(description = 'test the base usage of argparse.') # 新增位置引數 # 所謂位置引數,就是指直接新增的引數而不用使用'-'、'--'等符號 # 新增了位置引數,它就是必選引數 parser.add_argument('arg0') # 新增可選引數,但如果執行命令時帶有該引數,後面必須跟引數值 # '-'後面跟短引數,'--'後面跟長引數 # help引數為該引數的幫助資訊 parser.add_argument('-a1','--arg1',help = 'this is arg1') # 新增可選引數,但後面不能跟引數值 parser.add_argument('-a2','--arg2',help = 'this is arg2',action = 'store_true') # 新增可選引數並指定引數值資料型別為整型,且資料範圍為[0,1,2],且指定預設值為0,如果輸入的值不是整型或值不在要求的範圍內,則會報錯 parser.add_argument('-a3','--arg3',type = int,choices = [0,1,2],default = 0,help = 'this is arg3') # 新增一組可選的互斥引數 # a4和a5引數不能同時出現,否則會報錯 group = parser.add_mutually_exclusive_group() group.add_argument('-a4','--arg4',action = 'store_true') group.add_argument('-a5','--arg5',action = 'store_true') ##################################### # 執行解析引數 args = parser.parse_args() # 列印出位置引數'arg0' print 'arg0 is: ',args.arg0 # 列印出其他位置引數,注意這裡要用引數的'--'名稱(長引數) if args.arg1: print 'arg1 is: ',args.arg1 # 因為arg2後面沒有跟引數值,所以列印出來是True if args.arg2: print 'arg2 is: ',args.arg2 if args.arg3: print 'arg3 is: ',args.arg3 if args.arg4: print 'arg4 is: ',args.arg4 if args.arg5: print 'arg5 is: ',args.arg5