日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python Argparse模块

發(fā)布時(shí)間:2025/3/21 python 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python Argparse模块 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

argparse模塊

  在Python中,argparse模塊是標(biāo)準(zhǔn)庫(kù)中用來(lái)解析命令行參數(shù)的模塊,用來(lái)替代已經(jīng)過(guò)時(shí)的optparse模塊。argparse模塊能夠根據(jù)程序中的定義從sys.argv中解析出來(lái)這些參數(shù),并自動(dòng)生成幫助和使用信息。

ArgumentParse解析器

  使用argparse解析命令行參數(shù)時(shí),首先需要?jiǎng)?chuàng)建一個(gè)解析器:

import argparseparser = argparse.ArgumentParser()

  ArgumentParser類的初始化函數(shù)有多個(gè)參數(shù),其中比較常用的是description,它是程序的描述信息,即幫助信息前面的文字。

添加參數(shù)選項(xiàng)

  為應(yīng)用程序添加參數(shù)選項(xiàng)需要使用ArgrmentParser對(duì)象的add_argument方法,該方法的格式如下:

add_argument(name or flag...[, action ] [, nargs ] [, const ] [, default ] [, type ] [, choices ] [, required ] [,help ] [,metavar ] [, dest ]

  各個(gè)參數(shù)含義如下:

  • name/flags:參數(shù)的名字  
  • action:遇到參數(shù)時(shí)的動(dòng)作,默認(rèn)值時(shí)store。  
  • nargs:參數(shù)的個(gè)數(shù),可以時(shí)具體的數(shù)字,或者是”+“號(hào)或者”*“號(hào)。其中”*”號(hào)表示0或者多個(gè)參數(shù),“+”號(hào)表示1個(gè)或多個(gè)參數(shù)。  
  • const action 和 nargs:需要的常量值  
  • default:不指定參數(shù)時(shí)的默認(rèn)值  
  • type:參數(shù)的類型  
  • choices:參數(shù)允許的值  
  • required:可選參數(shù)是否可以省略  
  • help:參數(shù)的幫助信息  
  • metavar:在usage說(shuō)明中的參數(shù)名稱  
  • dest:解析后的參數(shù)名稱

action內(nèi)置的6種動(dòng)作:

store # 保存參數(shù)值,可能會(huì)先將參數(shù)值轉(zhuǎn)換成另一個(gè)數(shù)據(jù)類型。若沒(méi)有顯式指定動(dòng)作,則默認(rèn)為該動(dòng)作。store_const # 保存一個(gè)被定義為參數(shù)規(guī)格一部分的值,而不是一個(gè)來(lái)自參數(shù)解析而來(lái)的值。這通常用于實(shí)現(xiàn)非布爾值的命令行標(biāo)記。store_ture/store_false # 保存相應(yīng)的布爾值。這兩個(gè)動(dòng)作被用于實(shí)現(xiàn)布爾開(kāi)關(guān)。append #將值保存到一個(gè)列表中。若參數(shù)重復(fù)出現(xiàn),則保存多個(gè)值。append_const #將一個(gè)定義在參數(shù)規(guī)格中的值保存到一個(gè)列表中。version #打印關(guān)于程序的版本信息,然后退出

解析參數(shù)

  解析命令行參數(shù)需要用到AgrumentParser對(duì)象的parse_args方法,該方法返回一個(gè)NameSpace對(duì)象。獲取對(duì)象后,參數(shù)值可以通過(guò)屬性的方式進(jìn)行訪問(wèn)。由于指定了默認(rèn)值,那么直接運(yùn)行,也不會(huì)報(bào)錯(cuò)

parser.add_argument('-host',action='store',dest='server',default='localhost',help='connect to host') parser.add_argument('-p',action='store',dest='port',default='3306',help='the port to host') parser.parse_args()# parser.parse_args() 存儲(chǔ)的值 Namespace(port='3306', server='localhost')

  存貯布爾類型的值的時(shí)候action,存儲(chǔ)為store_true類型。

  使用argparse進(jìn)行參數(shù)解析還有另一個(gè)好處,它能夠根據(jù)我們的選項(xiàng)定義自動(dòng)生成幫助信息。(自動(dòng)追加-h選項(xiàng),打印幫助信息)

模仿MySQL客戶端的命令參數(shù)  

import argparseparser = argparse.ArgumentParser(description='A Python-MySQL client')def getparser():parser.add_argument('--host',action='store',dest='host',required=True,help='connect to host')parser.add_argument('-u','--username',action='store',dest='user',required=True,help='user for login')parser.add_argument('-p','--password',action='store',dest='password',required=True,help='password to use when user connecting to server')parser.add_argument('-P','--port',action='store',dest='port',default=3306,type=int,help='port number to use for connection or 3306 or default')parser.add_argument('-v','--version',action='version',version='%(prog)s 0.1')return parser.parse_args()def main():parser = getparser()conn_args = dict(host=parser.host,username=parser.user,password=parser.password,port=parser.port)print(conn_args)if __name__ == '__main__':main()

PS:如果 port參數(shù)可以指定多個(gè)參數(shù),那么可以添加 nargs='+'即可。

?

?

更詳細(xì)的使用方法參考,戳我

  

轉(zhuǎn)載于:https://www.cnblogs.com/zhichaoma/p/8001451.html

總結(jié)

以上是生活随笔為你收集整理的Python Argparse模块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美成人高潮一二区在线看 | 一级在线毛片 | 国产精品5 | 日韩激情图片 | 国产精品毛片久久久久久 | 国产成人综合欧美精品久久 | 91免费看片 | 69色堂| 日韩精品一二 | 天堂成人在线 | 极品少妇在线观看 | 欧美在线导航 | 污污免费视频 | 久久久久国产 | 欧洲色播 | 国产精品午夜无码专区 | 欧美挤奶吃奶水xxxxx | 99久久婷婷国产一区二区三区 | 九九99视频| 欧美成人一区二区三区片免费 | 亚洲五月天综合 | 国产在线视频网址 | 国产欧美一区二区在线观看 | 国产999精品久久久久久 | 欧美成人福利视频 | 亚洲成人中文字幕在线 | 欧美顶级毛片在线播放 | 亚洲激情久久久 | 一区在线免费 | 精久久久久久久 | 干老太太视频 | 国产精品第72页 | 日本乱子伦xxxx | 亚洲黄av| 羞羞网站在线看 | 不卡视频免费在线观看 | 一本大道久久久久精品嫩草 | 天堂√ | 午夜在线网站 | 天天摸天天做天天爽水多 | 美国一区二区三区 | 伦理片久久| 福利影院av| jjzz日本视频| 精品无码av一区二区三区 | 欧美精品xxxxx | 91干视频| 午夜天堂在线观看 | 99自拍视频| 日本一区二区三区四区在线观看 | 精品亚洲精品 | 中文字幕2021 | 九色视频偷拍少妇的秘密 | 1024毛片基地 | 久久久精品影视 | 亚洲一区二区久久 | 香蕉视频网站在线观看 | 久草电影网站 | 精品人妻一区二区三区四区五区 | 强迫凌虐淫辱の牝奴在线观看 | 色天堂视频 | 国产九九九九九 | free欧美性69护士呻吟 | 69欧美视频 | 国产成人自拍网站 | 自拍视频在线 | 肉色欧美久久久久久久免费看 | 亚欧洲精品 | 精品成人在线视频 | 少妇高潮毛片 | 国产毛片自拍 | 亚洲综合久久婷婷 | 97成人精品视频在线观看 | 日韩成人在线免费视频 | 色人综合| 日批视频 | 邻居少妇张开双腿让我爽一夜 | 亚洲影院在线 | 一级免费黄色大片 | 国产高潮久久久 | 91久久久久一区二区 | 久久午夜无码鲁丝片 | 国产美女永久免费 | 国产字幕在线观看 | 深夜福利网站 | 狂野欧美性猛交blacked | 久久伊人影院 | 青娱乐福利视频 | 蜜桃传媒一区二区亚洲av | 国产三级av在线 | 17草在线| 国产激情一区二区三区 | 偷偷操不一样的久久 | 国产日韩欧美 | 福利视频h | 国产精品自拍视频 | 狠狠爱综合| 欧美91精品久久久久国产性生爱 | 亚洲爱爱av |