網(wǎng)站首頁 編程語言 正文
optparse,是一個更夠讓程序設(shè)計(jì)人員輕松設(shè)計(jì)出簡單明了、易于使用、符合標(biāo)準(zhǔn)的Unix命令例程式的Python模塊,生成使用和幫助信息。
參數(shù)說明
- dest:用于保存輸入的臨時(shí)變量,其值通過options的屬性進(jìn)行訪問,存儲的內(nèi)容是dest之前輸入的參數(shù),多個參數(shù)用逗號分隔
- type: 用于檢查命令行參數(shù)傳入的參數(shù)的數(shù)據(jù)類型是否符合要求,有 string,int,float 等類型
- help:用于生成幫助信息
- default: 給dest的默認(rèn)值,如果用戶沒有在命令行參數(shù)給dest分配值,則使用默認(rèn)值
函數(shù)說明
- parse = optparse.OptionParser(usage, version=“%prog 版本解釋”)
- parse.add_option(‘-a’, ‘–aaa’, dest=‘a(chǎn)aa’, help=‘a(chǎn)aa,aaa’)
- group1 = optparse.OptionGroup(parse, “fff”, ‘dddd’)
- group1.add_option(‘-s’, ‘–server’, dest=‘hhhh’, help=“dddd”)
- parse.add_option_group(group1)
- options, args = parse.parse_args()
簡單使用
from optparse import OptionParser
from optparse import OptionGroup
usage = 'Usage: %prog [options] arg1 arg2 ...'
parser = OptionParser(usage,version='%prog 1.0')
#通過OptionParser類創(chuàng)建parser實(shí)例,初始參數(shù)usage中的%prog等同于os.path.basename(sys.argv[0]),即
#你當(dāng)前所運(yùn)行的腳本的名字,version參數(shù)用來顯示當(dāng)前腳本的版本。
'''
添加參數(shù),-f、--file是長短options,有一即可。
action用來表示將option后面的值如何處理,比如:
XXX.py -f test.txt
經(jīng)過parser.parse_args()處理后,則將test.txt這個值存儲進(jìn)-f所代表的一個對象,即定義-f中的dest
即option.filename = 'test.txt'
action的常用選項(xiàng)還有store_true,store_false等,這兩個通常在布爾值的選項(xiàng)中使用。
metavar僅在顯示幫助中有用,如在顯示幫助時(shí)會有:
-f FILE, --filename=FILE write output to FILE
-m MODE, --mode=MODE interaction mode: novice, intermediate, or expert
[default: intermediate]
如果-f這一項(xiàng)沒有metavr參數(shù),則在上面會顯示為-f FILENAME --filename=FILENAME,即會顯示dest的值
defalut是某一選項(xiàng)的默認(rèn)值,當(dāng)調(diào)用腳本時(shí),參數(shù)沒有指定值時(shí),即采用default的默認(rèn)值。
'''
parser.add_option('-f','--file',
action='store',dest='filename',
metavar='FILE',help='write output to FILE')
parser.add_option('-m','--mode',
default = 'intermediate',
help='interaction mode:novice,intermediate,or expert [default:%default]')
parser.add_option('-v','--verbose',
action='store_true',dest='verbose',default=True,
help='make lots of noise [default]')
parser.add_option('-q','--quiet',
action='store_false',dest='verbose',
help="be vewwy quiet (I'm hunting wabbits)")
group = OptionGroup(parser,'Dangerous Options',
'Caution: use these options at your own risk.'
'It is believed that some of them bite.')
#調(diào)用OptionGroup類,定制以組顯示的option
group.add_option('-g',action='store_true',help='Group option.')
#添加option
parser.add_option_group(group)
#將剛定制的groupoption加入parser中
group = OptionGroup(parser,'Debug Options')
group.add_option('-d','--debug',action='store_true',
help='Print debug information.')
group.add_option('-s','--sql',action='store_true',
help='Print all SQL statements executed')
group.add_option('-e',action='store_true',help='Print every action done')
parser.add_option_group(group)
(options,args) = parser.parse_args()
#解析腳本輸入的參數(shù)值,options是一個包含了option值的對象
#args是一個位置參數(shù)的列表
python.exe xxx.py --help 顯示結(jié)果如下:
Usage: test_optparse.py [options] arg1 arg2 ...
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-f FILE, --file=FILE write output to FILE
-m MODE, --mode=MODE interaction mode:novice,intermediate,or expert
[default:intermediate]
-v, --verbose make lots of noise [default]
-q, --quiet be vewwy quiet (I'm hunting wabbits)
Dangerous Options:
Caution: use these options at your own risk.It is believed that some
of them bite.
-g Group option.
Debug Options:
-d, --debug Print debug information.
-s, --sql Print all SQL statements executed
-e Print every action done
原文鏈接:https://blog.csdn.net/qdPython/article/details/128116943
相關(guān)推薦
- 2022-10-05 Flutter列表滾動定位超強(qiáng)輔助庫使用示例詳解_IOS
- 2022-05-08 python如何生成密碼字典_python
- 2022-06-22 利用Docker?運(yùn)行?python?簡單程序_docker
- 2022-05-11 RabbitMq工作模式深度剖析與Spring整合MQ
- 2022-12-16 C++?Boost?EnableIf函數(shù)使用介紹_C 語言
- 2022-03-23 詳細(xì)聊聊Redis的過期策略_Redis
- 2022-05-21 k8s的包管理工具h(yuǎn)elm使用簡介_云其它
- 2023-10-15 centos7 虛擬機(jī)中,網(wǎng)卡不啟動的解決方式
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支