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

歡迎訪問 生活随笔!

生活随笔

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

python

python3中argparse模块

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

1、定義:argparse是python標(biāo)準(zhǔn)庫里面用來處理命令行參數(shù)的庫

2、命令行參數(shù)分為位置參數(shù)和選項(xiàng)參數(shù):

? ? ? ? 位置參數(shù)就是程序根據(jù)該參數(shù)出現(xiàn)的位置來確定的

? ? ? ? ? ??? ??如:[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ù)

?3、使用步驟:

(1)import argparse ? ?首先導(dǎo)入模塊

(2)parser = argparse.ArgumentParser() ? ?創(chuàng)建一個(gè)解析對(duì)象

(3)parser.add_argument() ? ?向該對(duì)象中添加你要關(guān)注的命令行參數(shù)和選項(xiàng)

(4)parser.parse_args() ? ?進(jìn)行解析

?4、argparse.ArgumentParser()方法參數(shù)須知:一般我們只選擇用description

?prog=None ? ? - 程序名

? ??? ?? description=None, ? ?- help時(shí)顯示的開始文字

? ??? ??? 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)

?5、add_argument()方法參數(shù)須知:

? name or flags... ? ?- 必選,指定參數(shù)的形式,一般寫兩個(gè),一個(gè)短參數(shù),一個(gè)長(zhǎng)參數(shù)

?

import argparse parser = argparse.ArgumentParser() parser.add_argument('echo') # add_argument()指定程序可以接受的命令行選項(xiàng) args = parser.parse_args() # parse_args()從指定的選項(xiàng)中返回一些數(shù)據(jù) print(args) print(args.echo)

結(jié)果:

G:\flower\python\arg_parse>python demo1.py foo

Namespace(echo='foo')

foo

?action 表示值賦予鍵的方式,這里用到的是bool類型,action意思是當(dāng)讀取的參數(shù)中出現(xiàn)指定參數(shù)的時(shí)候的行為

help 可以寫幫助信息?

parser = argparse.ArgumentParser(description = 'this is a description') parser.add_argument('--ver', '-v', action = 'store_true', help = 'hahaha') # 將變量以標(biāo)簽-值的字典形式存入args字典 args = parser.parse_args() if args.ver:print("Ture") else:print("False")

結(jié)果:

G:\flower\python\arg_parse>python demo1.py -v

?

Ture

G:\flower\python\arg_parse>python demo1.py -j

usage: demo1.py [-h] [--ver]

demo1.py: error: unrecognized arguments: -j

? ?required ? ?- 必需參數(shù),通常-f這樣的選項(xiàng)是可選的,但是如果required=True那么就是必須的了

?type ? - 指定參數(shù)類型

# required標(biāo)簽就是說--ver參數(shù)是必需的,并且類型為int,輸入其它類型會(huì)報(bào)錯(cuò) parser.add_argument('--ver', '-v', required = True, type = int)

結(jié)果:

G:\flower\python\arg_parse>python demo1.py -v 1

Ture

G:\flower\python\arg_parse>python demo1.py -v ss

usage: demo1.py [-h] --ver VER

demo1.py: error: argument --ver/-v: invalid int value: 'ss'

? choices ? ?- 設(shè)置參數(shù)的范圍,如果choice中的類型不是字符串,要指定type

表示該參數(shù)能接受的值只能來自某幾個(gè)值候選值中,除此之外會(huì)報(bào)錯(cuò),用choice參數(shù)即可

?

parser.add_argument('file', choices = ['test1', 'test2']) args = parser.parse_args() print('read in %s'%(args.file))

結(jié)果:

G:\flower\python\arg_parse>python demo1.py test1

read in test1

?nargs ? ?- 指定這個(gè)參數(shù)后面的value有多少個(gè),默認(rèn)為1

# 表示腳本可以讀入兩個(gè)整數(shù)賦予num鍵(此時(shí)的值為2個(gè)整數(shù)的數(shù)組) parser.add_argument('filename', nargs = 2, type = int) args = parser.parse_args() print('read in %s'%(args.filename))

結(jié)果:

G:\flower\python\arg_parse>python demo1.py 1 2 3

?

usage: demo1.py [-h] filename filename

demo1.py: error: unrecognized arguments: 3

分析:nargs還可以'*'用來表示如果有該位置參數(shù)輸入的話,之后所有的輸入都將作為該位置參數(shù)的值;‘+’表示讀取至少1個(gè)該位置參數(shù)。'?'表示該位置參數(shù)要么沒有,要么就只要一個(gè)。(PS:跟正則表達(dá)式的符號(hào)用途一致。)

如:

parser.add_argument('filename', nargs = '+', type = int) args = parser.parse_args() print('read in %s'%(args.filename))

? dest ? - 設(shè)置這個(gè)選項(xiàng)的value解析出來后放到哪個(gè)屬性中

parser.add_argument('-file', choices = ['test1', 'test2'], dest = 'world') args = parser.parse_args() print('read in %s'%(args.world))

結(jié)果:

?

G:\flower\python\arg_parse>python demo1.py -file test1

read in test1

以上?

?

轉(zhuǎn)載自:?https://www.cnblogs.com/dengtou/p/8413609.html

總結(jié)

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

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

主站蜘蛛池模板: 亚洲色图欧美 | 亚洲精品理论 | 成人p站在线观看 | 五月天婷婷爱 | 香蕉伊人网 | 国产免费不卡av | 69堂精品| 久久免费一级片 | 久久蜜桃av一区二区天堂 | 黄色一级视频免费看 | 亚洲精品乱码久久久久久蜜桃91 | 欧美a∨ | 日本一区二区三区免费看 | 国产极品美女高潮无套嗷嗷叫酒店 | 国产高清视频在线观看 | 成人av观看 | a级片在线 | 久久四色| 久色视频| 久久官网 | 欧美r级在线观看 | 欧美偷拍综合 | 久久综合中文 | 亚洲精品视屏 | 国产91白丝在一线播放 | 日本一级视频 | 美女视频网址 | 九一av| 亚洲一区成人在线 | 欧美乱码精品一区二区三区 | videos亚洲| 久热欧美 | 国产真实的和子乱拍在线观看 | 久久视奸 | 欧美黄频 | 国产偷国产偷av亚洲清高 | 日韩免费av一区 | 精品不卡一区二区三区 | 熟女国产精品一区二区三 | 久久久久亚洲AV成人 | 黄色三级小视频 | 天天干天天拍 | 日本一区二区高清不卡 | 波多野结衣在线免费视频 | 伊人毛片| 国产免费啪啪 | 手机在线看永久av片免费 | 色一情一区二 | 深田咏美av在线 | 婷婷毛片 | 不卡av片| 久草视频在线观 | 欧美一二区视频 | 国产又粗又猛又爽又黄无遮挡 | 亚洲在线视频免费观看 | 中文字幕123区 | 国产又黄又猛 | 国产精品久久777777毛茸茸 | 午夜一区二区视频 | 国产精品免费久久久 | 男生桶女生肌肌 | 超碰蜜桃| 欧美大片高清免费观看 | 欧美成人一区二区在线 | 在线视频中文字幕 | 国产精品爽爽 | 国产一区高清 | 一二三区不卡 | 4438x亚洲最大| 草莓视频成人在线 | 色狠狠综合 | 国产成人精品亚洲线观看 | 超碰2025| 亚洲码无人客一区二区三区 | 巨大黑人极品videos精品 | 2024国产精品 | 亚洲成av| 老头老太做爰xxx视频 | 夜夜看 | 国产色爱 | 国产乱子伦精品无码专区 | 亚洲欧美网址 | 欧美视频中文字幕 | 玖玖玖精品| 欧美另类一区二区 | 九九视频在线观看 | a免费在线| 国产精品高潮呻吟久久 | 欧美极度另类 | videos麻豆 | 韩国三级在线视频 | 貂蝉被到爽流白浆在线观看 | 精品人妻伦一区二区三区久久 | 欧美手机看片 | 色涩网站| 亚洲人午夜精品 | 久久精品日韩 | 自宅警备员在线观看 | 国产理论av |