python argparse 模塊命令行參數(shù)用法及說明
argparse 是 python 的一個(gè)命令行解析包,可根據(jù)需要編寫高可讀性的程序。
網(wǎng)上的許多教程較為冗長(zhǎng)和散漫,沒有達(dá)到精練好掌握的目的,本文針對(duì)項(xiàng)目中對(duì) argparse 的用法,用實(shí)例對(duì)各個(gè)參數(shù)進(jìn)行講解,力求達(dá)到讓讀者秒懂的目的。
先上代碼
import argparse if __name__ == '__main__': # 創(chuàng)建命令行解析器句柄,并自定義描述信息 parser = argparse.ArgumentParser(description='test the argparse package') # 定義必選參數(shù) positionArg parser.add_argument('positionArg') # 定義可選參數(shù)verbosity1 parser.add_argument('--verbosity1', '-v1', help='test the optional arguments') # 定義可選參數(shù)verbosity2,并通過設(shè)定store_true表示該選項(xiàng)不需要接收參數(shù),若不設(shè)action,則默認(rèn)是需要接收參數(shù)的,否則報(bào)錯(cuò) parser.add_argument('--verbosity2', '-v2', action='store_true', help='test the action arg') # 指定參數(shù)類型(默認(rèn)是 str) parser.add_argument('x', type=int, help='test the type') # 設(shè)置參數(shù)的可選范圍 parser.add_argument('--verbosity3', '-v3', type=str, choices=['one', 'two', 'three', 'four'], help='test choices') # 設(shè)置參數(shù)默認(rèn)值 parser.add_argument('--verbosity4', '-v4', type=str, choices=['one', 'two', 'three'], default=1, help='test default value') args = parser.parse_args() # 返回一個(gè)命名空間 print(args) params = vars(args) # 返回 args 的屬性和屬性值的字典 for k, v in params.items(): print(k, v)
代碼示例中寫上了詳細(xì)的注釋,觀看注釋也可了解各大概。
下面針對(duì)一些特殊點(diǎn)再作詳述
action='store_true'
表示該選項(xiàng)不需要接收參數(shù),直接設(shè)定該參數(shù)為 true,當(dāng)然,如果不指定 -v2, 則該參數(shù)就是 false。
但如果把 action=’store_true’ 去掉,就必須給 -v2 指定一個(gè)值。
程序用法幫助
比如該程序命名為 testArg.py,則可在命令行執(zhí)行如下語(yǔ)句:
python3 testArg.py -h
運(yùn)行得到函數(shù)的用法幫助文檔:
完整的命令行參數(shù)執(zhí)行命令和效果如下:
當(dāng)然,參數(shù)的值也可寫成賦值形式,如下所示(等同于上圖中的命令):
python3 testArg.py hehe -v1=verb1 --verbosity2 1 -v3=one -v4=two
中間打印的 Namespace 為參數(shù)解析返回的命名空間。
如此,結(jié)合實(shí)例,非常簡(jiǎn)潔易懂,分享之。當(dāng)然還有一些其他的用法,此處只列出了一些最常用的用法,在使用中如有需要,可自行查閱文檔。
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python實(shí)現(xiàn)封裝得到virustotal掃描結(jié)果
這篇文章主要介紹了python實(shí)現(xiàn)封裝得到virustotal掃描結(jié)果的方法,是比較實(shí)用的技巧,可將掃描結(jié)果寫入數(shù)據(jù)庫(kù),需要的朋友可以參考下2014-10-10Python中的Numeric包和Numarray包使用教程
這篇文章主要介紹了Python中的Numeric包和Numarray包使用教程,來(lái)自IBM官方網(wǎng)站上的技術(shù)文檔,需要的朋友可以參考下2015-04-04python圖形繪制奧運(yùn)五環(huán)實(shí)例講解
在本文里我們給大家整理了一篇關(guān)于python圖形繪制奧運(yùn)五環(huán)的實(shí)例內(nèi)容,大家可以跟著學(xué)習(xí)下。2019-09-09python切片的步進(jìn)、添加、連接簡(jiǎn)單操作示例
這篇文章主要介紹了python切片的步進(jìn)、添加、連接簡(jiǎn)單操作,結(jié)合實(shí)例形式分析了Python切片運(yùn)算的常見操作技巧,需要的朋友可以參考下2019-07-07