Python的argparse庫(kù)使用詳解
argparse是python標(biāo)準(zhǔn)庫(kù)里面用來(lái)處理命令行參數(shù)的庫(kù)
命令行參數(shù)分為位置參數(shù)和選項(xiàng)參數(shù):
位置參數(shù)就是程序根據(jù)該參數(shù)出現(xiàn)的位置來(lái)確定的
如:[root@openstack_1 /]# ls root/ #其中root/是位置參數(shù)
選項(xiàng)參數(shù)是應(yīng)用程序已經(jīng)提前定義好的參數(shù),不是隨意指定的
如:[root@openstack_1 /]# ls -l # -l 就是ls命令里的一個(gè)選項(xiàng)參數(shù)、
基本使用
import argparse # 創(chuàng)建解析器 parser = argparse.ArgumentParser(description = 'This is a test') parser.parse_args()
可以在shell中測(cè)試:
$ python test.py --help ...
添加參數(shù)
import argparse
parser = argparse.ArgumentParser(description = 'This is a test')
parser.add_argument("-p","--port",help='increase output port') # 定義了可選參數(shù)-p和--port,賦值后,其值保存在args.port中(其值都是保存在最后一個(gè)定義的參數(shù)中)
args = parser.parse_args()
print(args.echo)
argparse.ArgumentParser()方法參數(shù)須知:一般我們只選擇用description
prog=None - 程序名
description=None, - help時(shí)顯示的開(kāi)始文字
epilog=None, - help時(shí)顯示的結(jié)尾文字
parents=[], -若與其他參數(shù)的一些內(nèi)容一樣,可以繼承
formatter_class=argparse.HelpFormatter, - 自定義幫助信息的格式
prefix_chars='-', - 命令的前綴,默認(rèn)是‘-'
fromfile_prefix_chars=None, - 命令行參數(shù)從文件中讀取
argument_default=None, - 設(shè)置一個(gè)全局的選項(xiàng)缺省值,一般每個(gè)選項(xiàng)單獨(dú)設(shè)置
conflict_handler='error', - 定義兩個(gè)add_argument中添加的選項(xiàng)名字發(fā)生沖突時(shí)怎么處理,默認(rèn)處理是拋出異常
add_help=True - 是否增加-h/--help選項(xiàng),默認(rèn)是True)
add_argument()方法參數(shù)須知:
name or flags... - 必選,指定參數(shù)的形式,一般寫(xiě)兩個(gè),一個(gè)短參數(shù),一個(gè)長(zhǎng)參數(shù)
使用時(shí)候:
$ python test.py -p 50 或 $ python test.py --port 50
指定類(lèi)型
我們也可以在添加參數(shù)的時(shí)候指定其類(lèi)型。
import argparse
parser = argparse.ArgumentParser(description = 'This is a test')
parser.add_argument("square",help="display a given number",type=int) # 指定給square的參數(shù)為int類(lèi)型
可選參數(shù)
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-v", help="increase output verbosity")
args = parser.parse_args()
if args.v:
print("v turned on")
使用:
$ python test.py -v any
文檔
更多應(yīng)用請(qǐng)百度或者查文檔:https://docs.python.org/3/library/argparse.html#module-argparse
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解python的webrtc庫(kù)實(shí)現(xiàn)語(yǔ)音端點(diǎn)檢測(cè)
這篇文章主要介紹了詳解python的webrtc庫(kù)實(shí)現(xiàn)語(yǔ)音端點(diǎn)檢測(cè),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
python計(jì)算機(jī)視覺(jué)opencv圖像金字塔輪廓及模板匹配
這篇文章主要為大家介紹了python計(jì)算機(jī)視覺(jué)opencv圖像金字塔圖像輪廓及模板匹配的學(xué)習(xí)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11
Python編寫(xiě)一個(gè)圖片自動(dòng)播放工具(過(guò)程詳解)
使用Python和Pygame庫(kù),可以編寫(xiě)一個(gè)圖片自動(dòng)播放工具,實(shí)現(xiàn)圖片的加載、自動(dòng)循環(huán)播放及用戶(hù)交互功能,工具支持暫停、繼續(xù)、手動(dòng)切換圖片和調(diào)整播放速度,適合在電腦上方便地瀏覽和展示圖片,感興趣的朋友跟隨小編一起看看吧2024-09-09
Python中順序表的實(shí)現(xiàn)簡(jiǎn)單代碼分享
這篇文章主要介紹了Python中順序表的實(shí)現(xiàn)簡(jiǎn)單代碼分享,展示了代碼運(yùn)行結(jié)果,然后分享了相關(guān)實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
基于python框架Scrapy爬取自己的博客內(nèi)容過(guò)程詳解
這篇文章主要介紹了基于python框架Scrapy爬取自己的博客內(nèi)容過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
Python?PaddleGAN實(shí)現(xiàn)照片人物性別反轉(zhuǎn)
PaddleGAN中的styleganv2editing.py是支持性別編輯的。所以本文將介紹如何通過(guò)調(diào)整參數(shù),來(lái)試著實(shí)現(xiàn)一下照片的性別翻轉(zhuǎn)。感興趣的小伙伴可以學(xué)習(xí)一下2021-12-12
在Python中os.fork()產(chǎn)生子進(jìn)程的例子
今天小編就為大家分享一篇在Python中os.fork()產(chǎn)生子進(jìn)程的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08
用Python創(chuàng)建聲明性迷你語(yǔ)言的教程
這篇文章主要介紹了用Python創(chuàng)建聲明性迷你語(yǔ)言的教程,本文來(lái)自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下2015-04-04

