Python包argparse模塊常用方法
argparse包用于解釋命令行參數(shù)。這里給出幾個(gè)常用的方法。
# 創(chuàng)建解析器對(duì)象# @para: description:描述信息Arg = ArgumentParser(description=’An example for Python package argparse~’)# 添加參數(shù)# @para: 后面舉例子再細(xì)說Arg.add_argument()# 解析參數(shù)# @return: 返回的arg是一個(gè)對(duì)象,里面的屬性和屬性值來自命令行arg = Arg.parse_args()# 創(chuàng)建互斥組# @description:互斥組內(nèi)的參數(shù)不能同時(shí)出現(xiàn)Arg.add_mutually_exclusive_group()argparse實(shí)例
基本使用
import argparseArg = argparse.ArgumentParser(description=’An example for Python package argparse~’)arg = Arg.parse_args()
不添加任何參數(shù),cmd運(yùn)行結(jié)果:
默認(rèn)可以使用-h或者?help查看參數(shù)列表。因?yàn)闆]有添加任何參數(shù),因此,這里只有一個(gè)-h。可以看到description的描述信息也可以在-h下打印出來。
添加參數(shù)
import argparseArg = argparse.ArgumentParser(description=’An example for Python package argparse~’)Arg.add_argument(’a’)arg = Arg.parse_args()print('arg 的內(nèi)的參數(shù){}'.format(arg.a))args = vars(arg)print('arg 的內(nèi)的參數(shù){}'.format(args[’a’]))
添加參數(shù)后,需要在運(yùn)行后面帶上參數(shù),否則報(bào)錯(cuò)。
添加可選參數(shù)
前面添加的參數(shù),一定要傳入?yún)?shù)值。
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 的內(nèi)的參數(shù){}'.format(arg.a))args = vars(arg)print('arg 的內(nèi)的參數(shù){}'.format(args[’a’]))
只需在參數(shù)前加上-(用于一個(gè)字母,例如-h)或者--(用于多個(gè)字母,例如--help),即可選擇是否需要傳入?yún)?shù)。
但是如果指定了參數(shù),后面一定要跟上參數(shù)值,否則會(huì)報(bào)錯(cuò)。例如:
在添加參數(shù)的時(shí)候,加上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 的內(nèi)的參數(shù){}'.format(arg.a))args = vars(arg)print('arg 的內(nèi)的參數(shù){}'.format(args[’a’]))
當(dāng)我們帶上-a運(yùn)行,在代碼里得到的a值為True,不帶則為False。這個(gè)是不是和-h類似,當(dāng)我們帶上-h,里面有個(gè)if判斷,就把相關(guān)信息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 的內(nèi)的參數(shù){}'.format(arg.a))args = vars(arg)print('arg 的內(nèi)的參數(shù){}'.format(args[’a’]))
可選值和默認(rèn)值
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 的內(nèi)的參數(shù){}'.format(arg.a))args = vars(arg)print('arg 的內(nèi)的參數(shù){}'.format(args[’a’]))
互斥參數(shù)
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 的內(nèi)的參數(shù)b:{}'.format(args[’a’]))if args.get(’b’, None): print('arg 的內(nèi)的參數(shù)b:{}'.format(args[’b’]))
可以看出,在互斥組內(nèi),參數(shù)不可以同時(shí)出現(xiàn),僅可出現(xiàn)一個(gè)或者都不出現(xiàn)。所以在互斥組內(nèi)添加的參數(shù)必須是可選參數(shù),也就是以-或者--開頭的。
以上就是Python包argparse模塊常用方法的詳細(xì)內(nèi)容,更多關(guān)于Python包argparse使用的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 告別AJAX實(shí)現(xiàn)無(wú)刷新提交表單2. css代碼優(yōu)化的12個(gè)技巧3. Vue+elementUI下拉框自定義顏色選擇器方式4. 使用css實(shí)現(xiàn)全兼容tooltip提示框5. css進(jìn)階學(xué)習(xí) 選擇符6. 低版本IE正常運(yùn)行HTML5+CSS3網(wǎng)站的3種解決方案7. Xml簡(jiǎn)介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理8. CSS hack用法案例詳解9. CSS3實(shí)例分享之多重背景的實(shí)現(xiàn)(Multiple backgrounds)10. ASP中常用的22個(gè)FSO文件操作函數(shù)整理
