python argparse type_python argparse(参数解析模块)
這是一個參數(shù)解析,可以用它快捷的為你的程序生成參數(shù)相關(guān)功能
import argparse(導(dǎo)入程序參數(shù)模塊)
# 創(chuàng)建argparse對象,并將產(chǎn)品簡要說明加入
show = '程序說明' ===>程序簡要說明(字符串),輸出help時會顯示
p = argparse.ArgumentParser(description=show)
# 創(chuàng)建一個參數(shù),如果參數(shù)名稱前沒有‘-’或‘--’則該參數(shù)為必填參數(shù),如果程序運行時不給它賦值則程序?qū)伋霎惓?賦值時直接給值即可,不需輸參數(shù)名,參考ping命令)
p.add_argument('參數(shù)名稱(-h時會顯示)', '--別名(選填,'-參數(shù)名稱 = --別名')',+各種參數(shù)。。。)
# 創(chuàng)建一個‘--’參數(shù),如果參數(shù)前有‘--’則為可選參數(shù)。在輸入‘--參數(shù)’后再賦值。
p.add_argument('--參數(shù)名稱',+各種參數(shù)。。。)
# 創(chuàng)建一個‘-’參數(shù),如果參數(shù)前有‘-’則為可選參數(shù)。在輸入‘-參數(shù)’后再賦值。注意:如果參數(shù)有別名則實際參數(shù)值是賦給了別名。
p.add_argument('-參數(shù)名稱', '--別名(選填,'-參數(shù)名稱 = --別名')',+各種參數(shù)。。。)
add_argument方法參數(shù)說明:
help:針對該參數(shù)的說明。例:help='this display information'
type:該參數(shù)字符類型(str,int,float等),如果輸入類型不對則會拋異常。例:type=int
action:當(dāng)該參數(shù)值為"store_true"時表示創(chuàng)建的是一個機關(guān),帶該參數(shù)時則表示開啟該機關(guān)(創(chuàng)建的參數(shù)(機關(guān))此時的值為True),不帶該參數(shù)時則表示關(guān)閉該機關(guān)(創(chuàng)建的參數(shù)(機關(guān))此時的值為False)。
(例:p.add_argument('--v',action='store_true') ===>如果帶該參數(shù)則‘v’的值為true)
choices:限定參數(shù)值范圍(規(guī)定只接收規(guī)定列表中的值),值為列表。例:choices=[1,2,3]
default:指定參數(shù)默認值。例:default=100
# 獲取程序參數(shù)的值,args是一個對象,該對象里的若干屬性等于參數(shù)(提取參數(shù)的值:args.參數(shù)名稱)
args = p.parse_args()
# 創(chuàng)建兩個互斥的參數(shù)
group = parser . add_mutually_exclusive_group () ======> 創(chuàng)建一個互斥組
group.add_argument ( "-v" , "--verbose" , action = "store_true" ) ====>互斥組內(nèi)的參數(shù)不可同時出現(xiàn),否則拋異常
group.add_argument ( "-q" , "--quiet" , action = "store_true" ) ====>互斥組內(nèi)的參數(shù)不可同時出現(xiàn),否則拋異常
代碼實例:
import argparse
# 創(chuàng)建參數(shù)功能對象
show = '這是一個求長方形面積或長方體體積的程序'
p = argparse.ArgumentParser(description=show)
# 創(chuàng)建各個參數(shù)
p.add_argument('-x', help='長方形的底邊長度', type=int, choices=[1, 2, 3], default=2)
p.add_argument('-z', '--kuan', help='另外一條邊長', type=int, choices=[1, 2, 3], default=2)
p.add_argument('-y', '--gao', help='長方體的高度', type=int, choices=[1, 2, 3], default=2)
# 創(chuàng)建互斥參數(shù)
group = p.add_mutually_exclusive_group()
group.add_argument('-v', action="store_true", help='求長方形面積')
group.add_argument('-vv', action="store_true", help='求長方體體積')
# 提取參數(shù)的賦值
args = p.parse_args()
# 利用參數(shù)的值進行計算
if args.v:
print('長方形面積是%d' % (args.x * args.kuan))
elif args.vv:
print('長方體體積是%d' % (args.x * args.kuan * args.gao))
else:
print('請用使用參數(shù)表明你要使用的功能!')
程序執(zhí)行命令:python a.py -x 3 -y 1 -z 2 -vv
總結(jié)
以上是生活随笔為你收集整理的python argparse type_python argparse(参数解析模块)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 素描化图像_python实
- 下一篇: python 内存回收机制_【第1题】