Python包argparse模塊常用方法
argparse包用于解釋命令行參數。這里給出幾個常用的方法。
# 創建解析器對象# @para: description:描述信息Arg = ArgumentParser(description=’An example for Python package argparse~’)# 添加參數# @para: 后面舉例子再細說Arg.add_argument()# 解析參數# @return: 返回的arg是一個對象,里面的屬性和屬性值來自命令行arg = Arg.parse_args()# 創建互斥組# @description:互斥組內的參數不能同時出現Arg.add_mutually_exclusive_group()argparse實例
基本使用
import argparseArg = argparse.ArgumentParser(description=’An example for Python package argparse~’)arg = Arg.parse_args()
不添加任何參數,cmd運行結果:
默認可以使用-h或者?help查看參數列表。因為沒有添加任何參數,因此,這里只有一個-h。可以看到description的描述信息也可以在-h下打印出來。
添加參數
import argparseArg = argparse.ArgumentParser(description=’An example for Python package argparse~’)Arg.add_argument(’a’)arg = Arg.parse_args()print('arg 的內的參數{}'.format(arg.a))args = vars(arg)print('arg 的內的參數{}'.format(args[’a’]))
添加參數后,需要在運行后面帶上參數,否則報錯。
添加可選參數
前面添加的參數,一定要傳入參數值。
import argparseArg = argparse.ArgumentParser(description=’An example for Python package argparse~’)Arg.add_argument(’-a’,’-all’,help=’add all para!’)arg = Arg.parse_args()print('arg 的內的參數{}'.format(arg.a))args = vars(arg)print('arg 的內的參數{}'.format(args[’a’]))
只需在參數前加上-(用于一個字母,例如-h)或者--(用于多個字母,例如--help),即可選擇是否需要傳入參數。
但是如果指定了參數,后面一定要跟上參數值,否則會報錯。例如:
在添加參數的時候,加上action='store_true',
import argparseArg = argparse.ArgumentParser(description=’An example for Python package argparse~’)Arg.add_argument(’-a’,’-all’,help=’add all para!’,action='store_true')arg = Arg.parse_args()print('arg 的內的參數{}'.format(arg.a))args = vars(arg)print('arg 的內的參數{}'.format(args[’a’]))
當我們帶上-a運行,在代碼里得到的a值為True,不帶則為False。這個是不是和-h類似,當我們帶上-h,里面有個if判斷,就把相關信息print出來了。
固定類型type
import argparseArg = argparse.ArgumentParser(description=’An example for Python package argparse~’)Arg.add_argument(’-a’,’-all’,type = int ,help=’add all para!’,action='store_true')arg = Arg.parse_args()print('arg 的內的參數{}'.format(arg.a))args = vars(arg)print('arg 的內的參數{}'.format(args[’a’]))
可選值和默認值
import argparseArg = argparse.ArgumentParser(description=’An example for Python package argparse~’)Arg.add_argument(’-a’,’-all’,type = int ,help=’add all para!’,choices=[0,1,2,3],default=’3’)arg = Arg.parse_args()print('arg 的內的參數{}'.format(arg.a))args = vars(arg)print('arg 的內的參數{}'.format(args[’a’]))
互斥參數
import argparseArg = argparse.ArgumentParser(description=’An example for Python package argparse~’)Gro = Arg.add_mutually_exclusive_group()Gro.add_argument(’-a’,’-all’,help=’add all para!’)Gro.add_argument(’-b’,’-ball’,help=’add ball para!’)arg = Arg.parse_args()args = vars(arg)if args.get(’a’,None): print('arg 的內的參數b:{}'.format(args[’a’]))if args.get(’b’, None): print('arg 的內的參數b:{}'.format(args[’b’]))
可以看出,在互斥組內,參數不可以同時出現,僅可出現一個或者都不出現。所以在互斥組內添加的參數必須是可選參數,也就是以-或者--開頭的。
以上就是Python包argparse模塊常用方法的詳細內容,更多關于Python包argparse使用的資料請關注好吧啦網其它相關文章!
相關文章:
