Python包argparse模塊常用方法
argparse介紹
argparse包用于解釋命令行參數(shù)。這里給出幾個(gè)常用的方法。
# 創(chuàng)建解析器對象 # @para: description:描述信息 Arg = ArgumentParser(description='An example for Python package argparse~') # 添加參數(shù) # @para: 后面舉例子再細(xì)說 Arg.add_argument() # 解析參數(shù) # @return: 返回的arg是一個(gè)對象,里面的屬性和屬性值來自命令行 arg = Arg.parse_args() # 創(chuàng)建互斥組 # @description:互斥組內(nèi)的參數(shù)不能同時(shí)出現(xiàn) Arg.add_mutually_exclusive_group()
argparse實(shí)例
基本使用
import argparse Arg = 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??梢钥吹絛escription的描述信息也可以在-h下打印出來。
添加參數(shù)
import argparse Arg = 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 argparse Arg = 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ù)值,否則會報(bào)錯(cuò)。例如:
在添加參數(shù)的時(shí)候,加上action="store_true"
,
import argparse Arg = 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 argparse Arg = 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 argparse Arg = 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 argparse Arg = 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使用的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
用Python的Django框架編寫從Google Adsense中獲得報(bào)表的應(yīng)用
這篇文章主要介紹了用Python的Django框架編寫從Google Adsense中獲得報(bào)表的應(yīng)用,主要利用了官方的Google Adsense API,需要的朋友可以參考下2015-04-04python基礎(chǔ)教程之五種數(shù)據(jù)類型詳解
這篇文章主要介紹了python基礎(chǔ)教程之五種數(shù)據(jù)類型詳解的相關(guān)資料,這里對Python 的數(shù)據(jù)類型進(jìn)行了詳細(xì)介紹,需要的朋友可以參考下2017-01-01Python函數(shù)中的不定長參數(shù)相關(guān)知識總結(jié)
今天給大家?guī)淼氖顷P(guān)于Python函數(shù)的相關(guān)知識,文章圍繞著Python不定長參數(shù)展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06詳解windows python3.7安裝numpy問題的解決方法
這篇文章主要介紹了windows python3.7安裝numpy問題的解決方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08Keras框架中的epoch、bacth、batch size、iteration使用介紹
這篇文章主要介紹了Keras框架中的epoch、bacth、batch size、iteration使用介紹,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06python破解bilibili滑動驗(yàn)證碼登錄功能
這篇文章主要介紹了python破解bilibili滑動驗(yàn)證碼登錄功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09用Pycharm實(shí)現(xiàn)鼠標(biāo)滾輪控制字體大小的方法
今天小編就為大家分享一篇用Pycharm實(shí)現(xiàn)鼠標(biāo)滾輪控制字體大小的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01