您好,登錄后才能下訂單哦!
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í)有所幫助,也希望大家多多支持億速云。
免責(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)容。