溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python的argparse庫使用詳解

發(fā)布時間:2020-10-02 05:41:34 來源:腳本之家 閱讀:178 作者:BrownFly 欄目:開發(fā)技術(shù)

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

命令行參數(shù)分為位置參數(shù)和選項參數(shù):

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

如:[root@openstack_1 /]# ls root/    #其中root/是位置參數(shù)

選項參數(shù)是應(yīng)用程序已經(jīng)提前定義好的參數(shù),不是隨意指定的

如:[root@openstack_1 /]# ls -l    # -l 就是ls命令里的一個選項參數(shù)、

基本使用

import argparse

# 創(chuàng)建解析器
parser = argparse.ArgumentParser(description = 'This is a test')
parser.parse_args()

可以在shell中測試:

$ 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中(其值都是保存在最后一個定義的參數(shù)中)
args = parser.parse_args()
print(args.echo)

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

          prog=None     - 程序名

          description=None,    - help時顯示的開始文字

           epilog=None,     - help時顯示的結(jié)尾文字

          parents=[],        -若與其他參數(shù)的一些內(nèi)容一樣,可以繼承

          formatter_class=argparse.HelpFormatter,     - 自定義幫助信息的格式

          prefix_chars='-',    - 命令的前綴,默認(rèn)是‘-'

          fromfile_prefix_chars=None,     - 命令行參數(shù)從文件中讀取

          argument_default=None,    - 設(shè)置一個全局的選項缺省值,一般每個選項單獨設(shè)置

          conflict_handler='error',     - 定義兩個add_argument中添加的選項名字發(fā)生沖突時怎么處理,默認(rèn)處理是拋出異常

          add_help=True    - 是否增加-h/--help選項,默認(rèn)是True)

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

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

使用時候:

$ python test.py -p 50
或
$ python test.py --port 50

指定類型

我們也可以在添加參數(shù)的時候指定其類型。

import argparse

parser = argparse.ArgumentParser(description = 'This is a test')
parser.add_argument("square",help="display a given number",type=int) # 指定給square的參數(shù)為int類型

可選參數(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)用請百度或者查文檔:https://docs.python.org/3/library/argparse.html#module-argparse

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI