argparse介紹
argparse包用于解釋命令行參數(shù)。這里給出幾個常用的方法。
# 創(chuàng)建解析器對象
# @para: description:描述信息
Arg = ArgumentParser(description='An example for Python package argparse~')
# 添加參數(shù)
# @para: 后面舉例子再細(xì)說
Arg.add_argument()
# 解析參數(shù)
# @return: 返回的arg是一個對象,里面的屬性和屬性值來自命令行
arg = Arg.parse_args()
# 創(chuàng)建互斥組
# @description:互斥組內(nèi)的參數(shù)不能同時出現(xiàn)
Arg.add_mutually_exclusive_group()
argparse實例
基本使用
import argparse
Arg = argparse.ArgumentParser(description='An example for Python package argparse~')
arg = Arg.parse_args()
不添加任何參數(shù),cmd運行結(jié)果:

默認(rèn)可以使用-h或者–help查看參數(shù)列表。因為沒有添加任何參數(shù),因此,這里只有一個-h。可以看到description的描述信息也可以在-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ù)后,需要在運行后面帶上參數(shù),否則報錯。
添加可選參數(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ù)前加上-
(用于一個字母,例如-h
)或者--
(用于多個字母,例如--help
),即可選擇是否需要傳入?yún)?shù)。

但是如果指定了參數(shù),后面一定要跟上參數(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
運行,在代碼里得到的a值為True
,不帶則為False
。這個是不是和-h
類似,當(dāng)我們帶上-h
,里面有個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ù)不可以同時出現(xiàn),僅可出現(xiàn)一個或者都不出現(xiàn)。所以在互斥組內(nèi)添加的參數(shù)必須是可選參數(shù),也就是以-
或者--
開頭的。
以上就是Python包argparse模塊常用方法的詳細(xì)內(nèi)容,更多關(guān)于Python包argparse使用的資料請關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:- Python命令行參數(shù)argv和argparse該如何使用
- 在ipython notebook中使用argparse方式
- Python argparse模塊使用方法解析
- Python如何使用argparse模塊處理命令行參數(shù)
- python argparser的具體使用
- Python參數(shù)解析模塊sys、getopt、argparse使用與對比分析
- Python的argparse庫使用詳解
- Python解析命令行讀取參數(shù)--argparse模塊使用方法