最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python命令行解析工具argparse模塊

 更新時(shí)間:2023年05月18日 09:46:27   作者:FLy_鵬程萬里  
這篇文章主要介紹了Python命令行解析工具argparse模塊,argparse模塊是一個(gè)python標(biāo)準(zhǔn)庫,它主要用于對(duì)用戶從客戶端輸入的命令進(jìn)行解析,這使得編寫用戶友好的命令行接口變得非常容易,需要的朋友可以參考下

argparse模塊簡(jiǎn)介

argparse模塊是一個(gè)python標(biāo)準(zhǔn)庫,它主要用于對(duì)用戶從客戶端輸入的命令進(jìn)行解析,這使得編寫用戶友好的命令行接口變得非常容易。

程序只需要定義好用戶可以從終端可以輸入哪些參數(shù),以及參數(shù)對(duì)應(yīng)的含義、數(shù)據(jù)類型即可,然后argparse將負(fù)責(zé)從sys.argv中解析出這些參數(shù)。argparse模塊還會(huì)自動(dòng)生成幫助信息和使用信息并且當(dāng)用戶賦給程序非法的參數(shù)的時(shí)候會(huì)出現(xiàn)友好的錯(cuò)誤提示信息。

使用方法

(1)導(dǎo)入argparse模塊

(2)創(chuàng)建一個(gè)解析器對(duì)象

(3)使用對(duì)象內(nèi)置的add_argument()方法添加需要關(guān)注的命令參數(shù)和選項(xiàng)

(4)之后調(diào)用parse_args()方法解析命令即可

示例:

import argparse                     #導(dǎo)入argparse該模塊;
parser = argparse.ArgumentParser()  #創(chuàng)建一個(gè)解析器對(duì)象
parser.add_argument()               #添加令行參數(shù)和選項(xiàng),每一個(gè)add_argument方法對(duì)應(yīng)一個(gè)參數(shù)或選項(xiàng);
args=parser.parse_args()            #調(diào)用parse_args()方法進(jìn)行解析,解析成功之后即可使用    

ArgumentParser對(duì)象介紹

class argparse.ArgumentParser(
                prog=None, 
                usage=None, 
                description=None, 
                epilog=None, 
                parents=[], 
                formatter_class=argparse.
                HelpFormatter, 
                prefix_chars='-',
                fromfile_prefix_chars=None, 
                argument_default=None, 
                conflict_handler='error', 
                add_help=True)

參數(shù)說明:

參數(shù)描述
prog程序的名字(默認(rèn):sys.argv[0])
usage描述程序用法的字符串(默認(rèn):從解析器的參數(shù)生成)
description參數(shù)幫助信息之前的文本(默認(rèn):空)
epilog參數(shù)幫助信息之后的文本(默認(rèn):空)
parentsArgumentParser 對(duì)象的一個(gè)列表,這些對(duì)象的參數(shù)應(yīng)該包括進(jìn)去
formatter_class定制化幫助信息的類
prefix_chars可選參數(shù)的前綴字符集(默認(rèn):‘-‘)
fromfile_prefix_chars額外的參數(shù)應(yīng)該讀取的文件的前綴字符集(默
argument_default參數(shù)的全局默認(rèn)值(默認(rèn):None)
conflict_handler解決沖突的可選參數(shù)的策略(通常沒有必要)
add_help給解析器添加-h/–help 選項(xiàng)(默認(rèn):True)

add_argument函數(shù)簡(jiǎn)介

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

參數(shù)說明

參數(shù)描述
name or flags選項(xiàng)字符串的名字或者列表,例如foo 或者-f, –foo
action在命令行遇到該參數(shù)時(shí)采取的基本動(dòng)作類型。
nargs應(yīng)該讀取的命令行參數(shù)數(shù)目。
const某些action和nargs選項(xiàng)要求的常數(shù)值。
default如果命令行中沒有出現(xiàn)該參數(shù)時(shí)的默認(rèn)值。
type命令行參數(shù)應(yīng)該被轉(zhuǎn)換成的類型。
choices參數(shù)可允許的值的一個(gè)容器。
required - 該命令行選項(xiàng)是否可以省略(只針對(duì)可選參數(shù))。
help參數(shù)的簡(jiǎn)短描述。
metavar參數(shù)在幫助信息中的名字。
dest給parse_args()返回的對(duì)象要添加的屬性名稱。

其中“type”、“help”、“action”、“default”、“name ”、“dest”使用最為頻繁

實(shí)戰(zhàn)演示

(1)可選參數(shù)

代碼如下:

import argparse
parser=argparse.ArgumentParser()
parser.add_argument("-display",help="display the message!")
args=parser.parse_args()
if args.display:
    print "Display is trun on!"

運(yùn)行結(jié)果:

注:可選參數(shù)可以在add_argment("這里如果加上“-”,則說明是可選的,否則是必須的")定義

(2)短選項(xiàng)

有時(shí)候?qū)懸粋€(gè)匹配項(xiàng)的時(shí)候還需要寫全拼,實(shí)在是有些麻煩,在Linux中大多數(shù)的交互命令都有簡(jiǎn)寫,那么我們也可以來進(jìn)行設(shè)置短選項(xiàng)

代碼如下:

import argparse
parser=argparse.ArgumentParser()
parser.add_argument("-d","--display",help="display the message!",action="store_true")
args=parser.parse_args()
if args.display:
    print "Display is trun on!"

(3)結(jié)合位置參數(shù)與可選參數(shù)

代碼如下:

import argparse  
parser = argparse.ArgumentParser()  
parser.add_argument("square", type=int,  
                    help="display a square of a given number")  
parser.add_argument("-v", "--verbose", action="store_true",  
                    help="increase output verbosity")  
args = parser.parse_args()  
answer = args.square**2  
if args.verbose:  
    print "the square of {} equals {}".format(args.square, answer)  
else:  
    print answer  

運(yùn)行結(jié)果如下:

到此這篇關(guān)于Python命令行解析工具argparse模塊的文章就介紹到這了,更多相關(guān)Python的argparse模塊內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django框架中數(shù)據(jù)的連鎖查詢和限制返回?cái)?shù)據(jù)的方法

    Django框架中數(shù)據(jù)的連鎖查詢和限制返回?cái)?shù)據(jù)的方法

    這篇文章主要介紹了Django框架中數(shù)據(jù)的連鎖查詢和限制返回?cái)?shù)據(jù)的方法,Django是Python重多高人氣框架中最為著名的一個(gè),需要的朋友可以參考下
    2015-07-07
  • Python?常用模塊threading和Thread模塊之線程池

    Python?常用模塊threading和Thread模塊之線程池

    這篇文章主要介紹了Python?threading和Thread模塊之線程池,線程池如消費(fèi)者,負(fù)責(zé)接收任務(wù),并將任務(wù)分配到一個(gè)空閑的線程中去執(zhí)行。并不關(guān)心是哪一個(gè)線程執(zhí)行的這個(gè)任務(wù),具體介紹需要的小伙伴可以參考下面文章詳細(xì)內(nèi)容
    2022-06-06
  • python 爬蟲 實(shí)現(xiàn)增量去重和定時(shí)爬取實(shí)例

    python 爬蟲 實(shí)現(xiàn)增量去重和定時(shí)爬取實(shí)例

    今天小編就為大家分享一篇python 爬蟲 實(shí)現(xiàn)增量去重和定時(shí)爬取實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • opencv+tesseract實(shí)現(xiàn)驗(yàn)證碼識(shí)別的示例

    opencv+tesseract實(shí)現(xiàn)驗(yàn)證碼識(shí)別的示例

    本文主要介紹了opencv+tesseract實(shí)現(xiàn)驗(yàn)證碼識(shí)別的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Python基礎(chǔ)之常用庫常用方法整理

    Python基礎(chǔ)之常用庫常用方法整理

    這篇文章主要介紹了Python基礎(chǔ)之常用庫常用方法整理,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • Pycharm修改內(nèi)存限制不生效問題及解決方案

    Pycharm修改內(nèi)存限制不生效問題及解決方案

    本文主要講述了在更改PyCharm內(nèi)存大小限制后,不生效的問題,以及解決方法,原因在于用戶可能未購買PyCharm Pro版本,正確的配置文件路徑在環(huán)境變量中,修改完成后需要重啟PyCharm,設(shè)置的是JVM的內(nèi)存限制,而不是Python腳本的內(nèi)存使用
    2026-04-04
  • pycharm中使用request和Pytest進(jìn)行接口測(cè)試的方法

    pycharm中使用request和Pytest進(jìn)行接口測(cè)試的方法

    這篇文章主要介紹了pycharm中使用request和Pytest進(jìn)行接口測(cè)試的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 詳解Python如何獲取和理用戶的連續(xù)輸入

    詳解Python如何獲取和理用戶的連續(xù)輸入

    這篇文章主要為大家詳細(xì)介紹了如何在?Python?中獲取和處理用戶的連續(xù)輸入,包括基本的輸入方法、輸入驗(yàn)證、異常處理以及一些常見的應(yīng)用場(chǎng)景,感興趣的可以了解下
    2024-03-03
  • Python高階函數(shù)之filter()函數(shù)代碼示例

    Python高階函數(shù)之filter()函數(shù)代碼示例

    這篇文章主要介紹了Python高階函數(shù)之filter()函數(shù)代碼示例,獲取了一個(gè)序列的時(shí)候,想要把一些內(nèi)容去掉,保留一部分內(nèi)容的時(shí)候可以使用高效的filter()函數(shù),需要的朋友可以參考下
    2023-07-07
  • 小試Python中的pack()使用方法

    小試Python中的pack()使用方法

    這篇文章主要介紹了小試Python中的pack()使用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06

最新評(píng)論

舞阳县| 沅江市| 夏津县| 会泽县| 庆安县| 吉水县| 红安县| 通江县| 仁寿县| 晋宁县| 彰化县| 墨竹工卡县| 庆安县| 大荔县| 五指山市| 湾仔区| 东乌| 奉贤区| 泰兴市| 康马县| 淅川县| 乌拉特中旗| 墨玉县| 巧家县| 仁怀市| 青川县| 克什克腾旗| 黄陵县| 扎兰屯市| 拜城县| 崇明县| 封开县| 巴马| 武隆县| 任丘市| 开平市| 华池县| 临泉县| 平远县| 平度市| 中江县|