欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python命令行解析工具argparse模塊

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

argparse模塊簡(jiǎn)介

argparse模塊是一個(gè)python標(biāo)準(zhǔn)庫(kù),它主要用于對(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ù)說(shuō)明:

參數(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ù)的策略(通常沒(méi)有必要)
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ù)說(shuō)明

參數(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如果命令行中沒(méi)有出現(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("這里如果加上“-”,則說(shuō)明是可選的,否則是必須的")定義

(2)短選項(xiàng)

有時(shí)候?qū)懸粋€(gè)匹配項(xiàng)的時(shí)候還需要寫全拼,實(shí)在是有些麻煩,在Linux中大多數(shù)的交互命令都有簡(jiǎn)寫,那么我們也可以來(lái)進(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)文章

  • Python成功解決讀文件出現(xiàn):IOError:?[Errno?0]?Error的錯(cuò)誤

    Python成功解決讀文件出現(xiàn):IOError:?[Errno?0]?Error的錯(cuò)誤

    在Python編程中,處理文件是常見(jiàn)的任務(wù)之一,但偶爾也會(huì)遇到各種錯(cuò)誤,包括IOError,盡管Python?3.x中IOError已被OSError和FileNotFoundError等更具體的異常所取代,由于[Errno?0]不直接指向具體的錯(cuò)誤類型,我們將討論一系列可能導(dǎo)致IOError的常見(jiàn)情況,需要的朋友可以參考下
    2024-07-07
  • python numpy.ndarray中如何將數(shù)據(jù)轉(zhuǎn)為int型

    python numpy.ndarray中如何將數(shù)據(jù)轉(zhuǎn)為int型

    這篇文章主要介紹了python numpy.ndarray中如何將數(shù)據(jù)轉(zhuǎn)為int型,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之樹(shù)回歸詳解

    python機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之樹(shù)回歸詳解

    這篇文章主要為大家詳細(xì)介紹了python機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之樹(shù)回歸的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Jupyter Notebook遠(yuǎn)程登錄及密碼設(shè)置操作

    Jupyter Notebook遠(yuǎn)程登錄及密碼設(shè)置操作

    今天小編就為大家分享一篇Jupyter Notebook遠(yuǎn)程登錄及密碼設(shè)置操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • python的多元數(shù)據(jù)類型(上)

    python的多元數(shù)據(jù)類型(上)

    這篇文章主要為大家詳細(xì)介紹了python的多元數(shù)據(jù)類型,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • python抓取網(wǎng)頁(yè)時(shí)字符集轉(zhuǎn)換問(wèn)題處理方案分享

    python抓取網(wǎng)頁(yè)時(shí)字符集轉(zhuǎn)換問(wèn)題處理方案分享

    python學(xué)習(xí)過(guò)程中發(fā)現(xiàn)英文不好學(xué)起來(lái)挺困難的,其中小弟就遇到一個(gè)十分蛋疼的問(wèn)題,百度了半天就沒(méi)找到解決辦法~囧~摸索了半天自己解決了,記錄下來(lái)與君共勉。
    2014-06-06
  • 利用Python模擬谷歌的小恐龍游戲

    利用Python模擬谷歌的小恐龍游戲

    谷歌流量器中有個(gè)很有名的彩蛋:當(dāng)你網(wǎng)絡(luò)出現(xiàn)問(wèn)題時(shí),就會(huì)出現(xiàn)一個(gè)“小恐龍游戲”。本文就主要為大家介紹了如何用Python模擬實(shí)現(xiàn)這一小游戲,感興趣的同學(xué)可以學(xué)習(xí)一下
    2021-12-12
  • 對(duì)Keras自帶Loss Function的深入研究

    對(duì)Keras自帶Loss Function的深入研究

    這篇文章主要介紹了對(duì)Keras自帶Loss Function的深入研究,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Python元組常見(jiàn)操作示例

    Python元組常見(jiàn)操作示例

    這篇文章主要介紹了Python元組常見(jiàn)操作,結(jié)合實(shí)例形式分析了Python元組的概念、功能、常見(jiàn)定義、獲取、遍歷等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-02-02
  • python裝飾器常見(jiàn)使用方法分析

    python裝飾器常見(jiàn)使用方法分析

    這篇文章主要介紹了python裝飾器常見(jiàn)使用方法,結(jié)合實(shí)例形式分析了Python裝飾器的功能及三種常見(jiàn)的裝飾模式使用技巧,需要的朋友可以參考下
    2019-06-06

最新評(píng)論