Python学习:optparse模块
admin
2024-03-03 02:52:31
0

optparse,是一个更够让程序设计人员轻松设计出简单明了、易于使用、符合标准的Unix命令例程式的Python模块,生成使用和帮助信息。

参数说明

  • dest:用于保存输入的临时变量,其值通过options的属性进行访问,存储的内容是dest之前输入的参数,多个参数用逗号分隔
  • type: 用于检查命令行参数传入的参数的数据类型是否符合要求,有 string,int,float 等类型
  • help:用于生成帮助信息
  • default: 给dest的默认值,如果用户没有在命令行参数给dest分配值,则使用默认值

函数说明

  • parse = optparse.OptionParser(usage, version=“%prog 版本解释”)

  • parse.add_option(‘-a’, ‘–aaa’, dest=‘aaa’, help=‘aaa,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 OptionGroupusage = 'Usage: %prog [options] arg1 arg2 ...'parser = OptionParser(usage,version='%prog 1.0')
#通过OptionParser类创建parser实例,初始参数usage中的%prog等同于os.path.basename(sys.argv[0]),即
#你当前所运行的脚本的名字,version参数用来显示当前脚本的版本。'''
添加参数,-f、--file是长短options,有一即可。action用来表示将option后面的值如何处理,比如:
XXX.py -f test.txt
经过parser.parse_args()处理后,则将test.txt这个值存储进-f所代表的一个对象,即定义-f中的dest
即option.filename = 'test.txt'
action的常用选项还有store_true,store_false等,这两个通常在布尔值的选项中使用。metavar仅在显示帮助中有用,如在显示帮助时会有:
-f FILE, --filename=FILE    write output to FILE
-m MODE, --mode=MODE  interaction mode: novice, intermediate, or expert[default: intermediate]
如果-f这一项没有metavr参数,则在上面会显示为-f FILENAME --filename=FILENAME,即会显示dest的值defalut是某一选项的默认值,当调用脚本时,参数没有指定值时,即采用default的默认值。
'''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.')
#调用OptionGroup类,定制以组显示的optiongroup.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()
#解析脚本输入的参数值,options是一个包含了option值的对象
#args是一个位置参数的列表

python.exe xxx.py --help 显示结果如下:

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 someof them bite.-g                  Group option.Debug Options:-d, --debug         Print debug information.-s, --sql           Print all SQL statements executed-e                  Print every action done

相关内容

热门资讯

跨境电商巨无霸,赴港IPO获证... 来源:上海证券报 7月10日,中国证监会国际合作司发布关于SHEIN Global Holdings...
陪爸妈走过的第四个城市 陪爸妈走过的第四个城市 开篇 今年春天,趁着天气刚刚好,我又带着爸妈出了趟门。算上这次,是陪他们走...
百度沈抖:未来 90% 工作都... “未来90%的工作,都可能有智能体深度参与、协助完成。”在百度AIDAY百度搭子专场上,百度集团执行...
港股风向标|恒指短线放量滞涨 ... 财联社7月10日讯(编辑 冯轶)今日港股再度冲高回落,三大指数午后集体走弱。截至收盘,恒生指数、国企...
MLCC周期全面爆发!风华高科... 7月10日,国内被动元件龙头风华高科(000636.SZ)披露2026年半年度业绩预告,上半年净利润...
关停杠杆炒金!银行个人贵金属代... 今年6月以来,交通银行、招商银行、工商银行、建设银行等多家银行相继发布公告,宣布将于7月下旬起停办代...
原创 许... 许家印当年为何跟黄有龙搞在一起?背后到底有何猫腻?许家印跟黄有龙堪称是中国资本市场的两大奇人。一个凭...
世界杯第29日前瞻:西班牙vs... 北京时间7月11日凌晨3点,2026年美加墨世界杯进入第29个比赛日的争夺,将展开第二场1/4决赛争...
食品饮料周报:白酒去库存加速,... 证券之星食品饮料行业周报:2026年7月6日-2026年7月10日,沪深300指数下跌1.27%,申...
沈阳闲置黄金变现爆发,宏昇贵金... 近期,国际黄金价格持续震荡上行,沈阳地区贵金属回收市场迎来交易热潮。随着居民家庭闲置黄金存量的释放,...
Claude Code “高危... 出品 | 妙投APP 作者 | 张贝贝 编辑 | 丁萍 头图 | AI生图 7月8日,一则关于Cla...
新豪轩门窗X新华网《极致中国造... 从“中国制造”的规模优势迈向“中国创造”的价值跃升,中国品牌正以持续创新重塑全球竞争力。在这一进程中...
上市械企董事长,被女儿、女婿联... 来源:医疗器械经销商联盟 7月8日,科创板上市公司奥精医疗突发重磅公告,瞬间引爆资本市场与舆论圈。公...
汕头市优佳适科技有限公司成立 ... 天眼查App显示,近日,汕头市优佳适科技有限公司成立,注册资本50万人民币,经营范围为一般项目:技术...
砍掉两百个BU与近千家代持外壳... 在智能清洁硬件赛道凭借激进出海与疯狂营销一路狂飙的追觅(Dreame),突然在资本市场的前夜迎来了最...
原创 昨... 美东时间 7 月 9 日夜,纽约债市收盘钟声敲响时,交易大厅里紧绷了一周的情绪终于松了下来。本周总额...
段永平再次增持泡泡玛特 持股比... 观点网讯:7月10日,据港交所披露,知名投资人段永平再度增持泡泡玛特股票。 此次增持后,段永平持股数...
包揽全球80%的产能,又一个行... 作者: 快刀财经 郑栾 近日,新消费行业又迎来一笔久违的大额融资——咖爷科技宣布完成B轮融资,由美...
外储增配香港资产,可能会买啥? 界面新闻记者 | 杨志锦 界面新闻编辑 | 王姝 本周,央行行长潘功胜在香港的讲话引起市场广泛关...
最贵一套1.5亿,上海徐汇两大... 界面新闻记者 | 王婷婷 上海顶豪市场年度大戏来了。 7月11日,上海西岸美高梅酒店将迎来两大豪宅...