Python模块学习-----optparse
作用:一种类似于dos命令行的一种设计模块,例如:dos命令中添加-f会触发一种事件
可以自定义一些指令,用来完成某些操作
optparse.OptionParser()
optionparser()类
--该类提供了optparse一些常用的方法
from optparser import OptionParser parser = OptionParser()
--parser.add_option()
用来自定义指令
parser.add_option("-f", "--fil") (option, params) = parser.parser_args() print(option) print(params)
--两个参数,一个是命令的简写(-简写名称)一个是命令的全称(--全称名称)
1)一个指令附加一条信息
(pytorch01) D:\编程项目\Python\svm_study>python test2.py -f 2 {'fil': '2'} []
2)无指令附加信息
(pytorch01) D:\编程项目\Python\svm_study>python test2.py 1 2 3 4 {'fil': None} ['1', '2', '3', '4']
3)一个指令附加多条信息
(pytorch01) D:\编程项目\Python\svm_study>python test2.py -f 1 2 3 4 {'fil': '1'} ['2', '3', '4']
4)有效指令前附加信息
(pytorch01) D:\编程项目\Python\svm_study>python test2.py 1 -f 2 3 4 {'fil': '2'} ['1', '3', '4']
5)综合指令
(pytorch01) D:\编程项目\Python\svm_study>python test2.py 1 -f 2 3 x=4 {'fil': '2'} ['1', '3', 'x=4']
综上:
parser.parser_args()返回的是一个字典类型数据,其中的key值由定义进行确定,有则记录,无则由params全部打包带走
注:parser.parser_args([可以自行指定命令及对应数据]),此时输入其他参数无效,也不会被params打包带走
parser.add_option("-f", "--file") (options, args) = parser.parse_args(["-f", "12"]) #与["-f12"]等价 print(options) print(args)
(pytorch01) D:\编程项目\Python\svm_study>python test2.py -f 1 2 3 {'filename': '12'} []
上面的写法仅仅写了两个参数,下面我们来丰富一下其他参数
parser.add_option("-f", "--file", action="store", type="string", dest="filename", default="哈哈") (options, args) = parser.parse_args() print(options) print(options.filename, type(options.filename)) print(args)
(pytorch01) D:\编程项目\Python\svm_study>python test2.py -f 1 2 3 {'filename': '1'} 12 <class 'str'> ['2', '3']
可以看到
1)dest=""
该字符串用来覆盖之前的key名,也就是选项名(真正的命名)
2)action=""
①为store时:告诉optparse按照add_option时定义的那样解析,即必须有数据给指令。
②为store_true时:option后面有参数那么选项值为True,默认指令数据为True。
③为store_false时:option后面有参数那么选项值为False,默认指令数据为False。
3)type=""
该数据用来指定命令后面的参数类型
4)default=""
该数据用于指定一个默认参数给指令,一旦指定,即不会改变
5)help=""
该数据又来解释说明对应命令,该数据在parser.print_help时输出
6)metavar=""
该数据用来解释说明简称和全称,该数据在parser.print_help时输出
--parser.print_help()
用来输出整个命令的内容说明
USAGE = "one two three" parser = OptionParser(USAGE) parser.add_option("-f", "--file", action="store", type="string", dest="filename", default="hahaha", help="no help") parser.print_usage() parser.print_help()
(pytorch01) D:\编程项目\Python\svm_study>python test2.py -f 1 2 3 Usage: one two threeUsage: one two threeOptions:-h, --help show this help message and exit-f FILENAME, --file=FILENAMEno help
optionParser(标题的内容)
如果标题内容有输入,则parser.print_usage()就会调用这个内容,但是无论是否调用,该内容总会在窗口输出
以上内容参考:Optparse模块学习,optparse
Python模块学习-----optparse相关推荐
- Python模块学习——optparse
Python 有两个内建的模块用于处理命令行参数: 一个是 getopt,<Deep in python>一书中也有提到,只能简单处理 命令行参数: 另一个是 optparse,它功能强大 ...
- python textwrap_python2.7.3编译python模块学习- textwrap 文本包装和填充
python模块学习- textwrap 文本包装和填充 代码实例: sample_text = ''' The textwrap module can beused to format text f ...
- Python模块学习 - 用tinify模块压缩和优化图片
Python模块学习 - 用tinify模块压缩和优化图片 tinify模块 功能描述:TinyPNG和TinyJPG网站提供了压缩和优化.png和.jpg格式图片的功能.虽然可以很轻松地使用网页版进 ...
- Python模块学习 ---- zlib 数据压缩
Python模块学习 ---- zlib 数据压缩 目录(?)[+] Python标准模块中,有多个模块用于数据的压缩与解压缩,如zipfile,gzip, bz2等等.上次介绍了zipfile模块, ...
- python模块学习笔记
python模块学习笔记 1.Python自动发送邮件smtplib 2.制作二维码图片MyQR 3.绝对值模块math 4.CSV模块 5.openpyxl 模块,操作Excel文件 ExcelMa ...
- Python模块学习:glob 文件路径查找
文章转载自<伯乐在线>原文出处: Darkbull Python模块学习:glob 文件路径查找 glob模块是最简单的模块之一,内容非常少.用它可以查找符合特定规则的文件路径名.跟使用w ...
- 解惑Python模块学习,该如何着手操作...
Python模块 晚上和朋友聊天,说到公司要求精兵计划,全员都要有编程能力.然后C.Java.Python-对于零基础入门的,当然是选择Python的人较多了.可朋友说他只是看了简单的语法,可pyth ...
- 【Python模块学习】pandas模块简介
pandas模块学习 一.背景概述 Pandas (Python Data Analysis Library) 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的. numpy更加适用 ...
- python模块学习(1)
模块让你能够有逻辑地组织你的Python代码段.把相关的代码分配到一个 模块里能让你的代码更好用,更易懂. 模块也是Python对象,具有随机的名字属性用来绑定或引用. 简单地说,模块就是一个保存了P ...
最新文章
- com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'user'
- mysql保留2位小数字段如何设置 浮点数
- linux学习笔记 2013-09-02
- HBase删除和修改操作
- java8 streams_Java 8 Streams:过滤和谓词否定
- 使用 sitemesh/decorator装饰器装饰jsp页面(原理及详细配置)
- Linux 学习笔记 二
- android alarmmanager管理,android alarmmanager需要权限吗
- Github 教程 -- 使用指南
- 【Verilog基础】二进制码与格雷码之间的相互转换
- C语言实现一元二次方程的实根和复根
- 如何制作和部署war包
- 需求分析师面试题案例_如何准备作为分析师的业务案例面试
- (八)高德地图之添加marker标记点
- 网络层(四)划分子网
- 计算机网络原理ip计算,计算机网络原理IP地址计算题
- 基于ZYNQ的开源CANopen协议栈CANFestival移植
- 入门 Android Lint
- openGL贝塞尔曲面细分
- IT培训——职业教育帮你更快成功
热门文章
- JAVA 进制转换工具类 10进制转16进制 10进制转2进制 16进制转2进制 16进制10进制 2进制转10进制 2进制转16进制
- Three.js 开发之 物体围绕自己轴心旋转(二)
- DELMIA软件教程之仿真项目文件夹结构
- 面试:m3u8到底是什么格式
- Android百度地图——搜索服务之周边检索
- %f %.2f %lf %.2lf的含义
- 企业系统之间数据同步处理
- 人生苦短我用Python 五:ERROR: No matching distribution found for REfo==0.13
- C# 基于AE的GIS二次开发实例-----台风信息系统
- Android使用NFC模拟M卡实现 (一)