亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python命令行參數(shù)解析模塊optparse使用實(shí)例

系統(tǒng) 1962 0

示例

復(fù)制代碼 代碼如下:

from optparse import OptionParser
[...]
def main():
??? usage = "usage: %prog [options] arg"
??? parser = OptionParser(usage)
??? parser.add_option("-f", "--file", dest="filename",
????????????????????? help="read data from FILENAME")
??? parser.add_option("-v", "--verbose",
????????????????????? action="store_true", dest="verbose")
??? parser.add_option("-q", "--quiet",
????????????????????? action="store_false", dest="verbose")
??? [...]
??? (options, args) = parser.parse_args()
??? if len(args) != 1:
??????? parser.error("incorrect number of arguments")
??? if options.verbose:
??????? print "reading %s..." % options.filename
??? [...]

if __name__ == "__main__":
??? main()


增加選項(xiàng)(add_option())
復(fù)制代碼 代碼如下:

OptionParser.add_option(option)
OptionParser.add_option(*opt_str, attr=value, ...)

定義短選項(xiàng)
復(fù)制代碼 代碼如下:

parser.add_option(“-f”, attr=value, …)

定義長(zhǎng)選項(xiàng)
復(fù)制代碼 代碼如下:

parser.add_option(“?Cfoo”, attr=value, …)

如果定義
復(fù)制代碼 代碼如下:

?parser.add_option("-f", "--file", action="store", type="string", dest="filename")

命令行格式可以有以下形式
復(fù)制代碼 代碼如下:

-ffoo
-f foo
--file=foo
--file foo

解析后結(jié)果
復(fù)制代碼 代碼如下:

options.filename = “foo”

解析(parse_args())
復(fù)制代碼 代碼如下:

(options, args) = parser.parse_args()

options 解析后的參數(shù),以字典形式保存
args 不能解析的參數(shù),以列表形式保存

行為(action)

●store 默認(rèn)行為,保存值到dest
●“store_const” 保存常量
●“append” append this option's argument to a list
●“count” increment a counter by one
●“callback” call a specified function

設(shè)置默認(rèn)值(default)

復(fù)制代碼 代碼如下:

parser.add_option("-v", action="store_true", dest="verbose", default=True)
parser.set_defaults(verbose=True)

生成幫助提示(help)

提供help選項(xiàng)即可,可以用parser.print_help()打印出來

復(fù)制代碼 代碼如下:

parser.add_option(“-f”, “?Cfile”, dest=”filename”,help=”write report to FILE”, metavar=”FILE”)

設(shè)置boolean值

支持store_true和store_false兩個(gè)行為

復(fù)制代碼 代碼如下:

parser.add_option("-v", action="store_true", dest="verbose")
parser.add_option("-q", action="store_false", dest="verbose")

如果遇到-v,verbose=True;如果遇到-q,verbose=False

錯(cuò)誤處理

復(fù)制代碼 代碼如下:

(options, args) = parser.parse_args()
[...]
if options.a and options.b:
??? parser.error("options -a and -b are mutually exclusive")

選項(xiàng)組(Grouping Options)

格式如下

class optparse.OptionGroup(parser, title, description=None)

復(fù)制代碼 代碼如下:

group = OptionGroup(parser, "Dangerous Options",
??????????????????? "Caution: use these options at your own risk.? "
??????????????????? "It is believed that some of them bite.")
group.add_option("-g", action="store_true", help="Group option.")
parser.add_option_group(group)

提示結(jié)果如下
復(fù)制代碼 代碼如下:

Usage: [options] arg1 arg2

Options:
? -h, --help??????????? show this help message and exit
? -v, --verbose???????? make lots of noise [default]
? -q, --quiet?????????? be vewwy quiet (I'm hunting wabbits)
? -f FILE, --filename=FILE
??????????????????????? write output to FILE
? -m MODE, --mode=MODE? interaction mode: novice, intermediate, or
??????????????????????? expert [default: intermediate]

? Dangerous Options:
??? Caution: use these options at your own risk.? It is believed that some
??? of them bite.

??? -g????????????????? Group option.


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 人人干视频在线观看 | 色国产精品一区在线观看 | 美女色影院 | 青青青国产 | 亚洲精品久久久久影 | 日本成人一区 | 日韩亚洲欧美综合一区二区三区 | 亚洲精品久久久中文字幕 | 国产精品人成福利视频 | 青青青爽在线视频观看大全 | 天堂va | 成人欧美一区二区三区视频不卡 | 亚洲精品人成网线在线 | 亚洲成在人线中文字幕 | 精品欧美一区二区三区精品久久 | 国产视频一区在线播放 | 精品一区二区三区 不卡高清 | 成熟的女性强烈交性视频 | 欧美激情_区二区三区 | 天天舔天天爽 | 欧美一级毛片片aa视频 | 欧美国产一区二区二区 | 欧美在线视频免费看 | 国产精品2020在线看亚瑟 | 青青操夜夜操 | 久久精品三级 | 欧美日本国产 | 日日摸夜夜爽久久综合 | a一级免费视频 | 国产成年人在线观看 | 欧美大香 | 欧美一级成人一区二区三区 | 老司机精品在线观看 | 香蕉精品 | 欧美大尺码毛片 | 久操美女 | 欧美日韩一区二区三在线 | 婷婷在线综合 | 日日操日日碰 | 亚洲国产精品综合久久网络 | 亚洲精品成人 |