Python包argparse模塊常用方法
argparse介紹
argparse包用于解釋命令行參數(shù)。這里給出幾個(gè)常用的方法。
# 創(chuàng)建解析器對(duì)象 # @para: description:描述信息 Arg = ArgumentParser(description='An example for Python package argparse~') # 添加參數(shù) # @para: 后面舉例子再細(xì)說(shuō) Arg.add_argument() # 解析參數(shù) # @return: 返回的arg是一個(gè)對(duì)象,里面的屬性和屬性值來(lái)自命令行 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)闆](méi)有添加任何參數(shù),因此,這里只有一個(gè)-h??梢钥吹絛escription的描述信息也可以在-h下打印出來(lái)。
添加參數(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ù)值,否則會(huì)報(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類(lèi)似,當(dāng)我們帶上-h,里面有個(gè)if判斷,就把相關(guān)信息print出來(lái)了。
固定類(lèi)型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ù),也就是以-或者--開(kāi)頭的。
以上就是Python包argparse模塊常用方法的詳細(xì)內(nèi)容,更多關(guān)于Python包argparse使用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python中read()、readline()和readlines()方法比較及使用詳解
在Python文件操作中,read()、readline()和readlines()是三個(gè)常用的文件讀取方法,它們各有特點(diǎn),適用于不同的場(chǎng)景,本文將深入探討這三個(gè)方法的區(qū)別、使用場(chǎng)景、性能比較以及最佳實(shí)踐,需要的朋友可以參考下2025-03-03
Python實(shí)現(xiàn)接口自動(dòng)化測(cè)試的方法詳解
Python接口自動(dòng)化測(cè)試是一種高效、可重復(fù)的軟件質(zhì)量驗(yàn)證方法,尤其在現(xiàn)代軟件開(kāi)發(fā)中,它已經(jīng)成為不可或缺的一部分,本文將深入探討如何使用Python進(jìn)行接口自動(dòng)化測(cè)試,文中通過(guò)代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08
python必備庫(kù)Matplotlib畫(huà)圖神器
這篇文章主要介紹了python必備庫(kù)Matplotlib畫(huà)圖神器,Matplotlib 是 Python 中最受歡迎的數(shù)據(jù)可視化軟件包之一,支持跨平臺(tái)運(yùn)行,它是 Python 常用的 2D 繪圖庫(kù),同時(shí)它也提供了一部分 3D 繪圖接口,更多詳細(xì)內(nèi)容,需要的小伙伴可以參考一下下面文章具體內(nèi)容2022-03-03
filter使用python3代碼進(jìn)行迭代元素的實(shí)例詳解
在本篇文章里小編給大家整理了關(guān)于filter使用python3代碼進(jìn)行迭代元素的實(shí)例詳解內(nèi)容,有興趣的朋友們可以參考下。2020-12-12
一文詳解Python中的行為驗(yàn)證碼驗(yàn)證功能
最近在開(kāi)發(fā)行為驗(yàn)證碼,經(jīng)常觸及到關(guān)于驗(yàn)證類(lèi)型的相關(guān)內(nèi)容。但使用起來(lái)不太熟練,所以本文就來(lái)總結(jié)一下對(duì)行為驗(yàn)證碼驗(yàn)證類(lèi)型的理解2023-03-03
python 刪除字符串中連續(xù)多個(gè)空格并保留一個(gè)的方法
今天小編就為大家分享一篇python 刪除字符串中連續(xù)多個(gè)空格并保留一個(gè)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-12-12

