Optparse 简介
optparse 这个库的主要作用是可以用为脚本提供传递命令参数功能
一个简单的例子
def main():
parser = OptionParser(usage = "usage: %prog [option] arg1")
parser.add_option("-s","--startdate",
action = "store",type= "string",dest = 'StartDate',default = "Latest",
help = "Type the StartDate, otherwise it will be the Latest Date of What You Have in Your Computer",)
print(parser.StartDate)
If __name__ == '__main__':
main()
假设改脚本的名字为A.py, 然后你可以进入命令行,输入
python A.py -s 20170504
你会得到
20170504
简单介绍一下parser.add_option()的参数
action: 指示optparse解析一个命令行参数时该如何处理。简单的来说,就是如果命令行如果传递了参数,我们该怎么办。常见的参数有 store, store_true, store_false. store 是把你输入的参数存放到options对象里,store_true 和 store_false 是配合使用的,类似于boolean变量,如果你触发了store_true, 该命令对应的对象则为1, 反之则为0。
dest: dest可以调用你存进option对象的参数。用上面的例子,如果你输入上面的命令行命令,则会打印出20170504,这里起作用的是这一行
print(parser.dest)
也就是说,你输入的参数可以用dest来调用
default: default 是当你没有输入参数是,仅仅输入了-s,这里
parser.StartDate = 'Latest'
help: 是用来说明改命令是用来干什么,提供解释
parser.error() 用来报错
当然你也可以用sys.exit()
范例代码
import optparserparser
from optparser import OptionParser
def main():
parser = OptionParser(usage = "usage: %prog [option] arg1")
parser.add_option("-s","--startdate",
action = "store",type= "string",dest = 'StartDate',default = "Latest",
help = "Type the StartDate, otherwise it will be the Latest Date of What You Have in Your Computer",)
parser.add_option("-e","--enddate",
action = "store",type= "string",dest = 'EndDate', default = "Today",
help = "Type the EndDate, otherwise it will be Today",)
parser.add_option("-f","--from",
action = "store",type = "string",dest = "UserID",
help = "Website",)
parser.add_option("-t","--to",
action = "store",type = "string",dest = "SaveAddress",default = "C:/Users/kinsly/Work",
help = "Type the Address you want to save",)
(option,args) = parser.parse_args()
if not options.UserID:
parser.error('ID is not given')
if __name__ == '__main__':
main()
reference:
- Python: How to make an option to be required in optparse?
https://stackoverflow.com/questions/4407539/python-how-to-make-an-option-to-be-required-in-optparse - Python模块学习——使用 optparse 处理命令行参数
http://shelly-kuang.iteye.com/blog/797713 - optparse — Parser for command line options
https://docs.python.org/3/library/optparse.html - Python optparser库详解
http://blog.csdn.net/marksinoberg/article/details/51842197
Optparse 简介的更多相关文章
- python OptParse模块的用法详解
OptParse模块的简单介绍 Python 有两个内建的模块用于处理命令行参数: 一个是 getopt只能简单处理 命令行参数: 另一个是 optparse,它功能强大,而且易于使用,可以方便地生成 ...
- python模块----optparse模块、argparse模块 (命令行解析模块)
简介 optparse module---自版本3.2以来已弃用:optparse模块已弃用,将不再进一步开发:将继续使用argparse模块进行开发.optparse使用一种更具声明性的命令行解析方 ...
- ASP.NET Core 1.1 简介
ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...
- MVVM模式和在WPF中的实现(一)MVVM模式简介
MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...
- Cassandra简介
在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...
- REST简介
一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...
- Microservice架构模式简介
在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...
- const,static,extern 简介
const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...
- HTTPS简介
一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...
随机推荐
- golang的数据类型之基本数据类型的默认值和转换
默认值: 整型的默认值:0 浮点型的默认值:0字符串的默认值:"" //空布尔类型的默认值:false package mainimport "fmt" f ...
- leetcode.排序.451根据字符出现频率排序-Java
1. 具体题目 给定一个字符串,请将字符串里的字符按照出现的频率降序排列. 示例 1: 输入: "tree" 输出: "eert" 解释: 'e'出现两次,'r ...
- php分割url,获取参数query
#测试网址: http://localhost/blog/testurl.php?id=5 //获取域名或主机地址echo $_SERVER['HTTP_HOST']."<br> ...
- webpack打包配置中出现的问题
第一个错误: One CLI for webpack must be installed. These are recommended choices, delivered as separate p ...
- Java中synchronized 修饰在static方法和非static方法的区别
[问题描述]关于Java中synchronized 用在实例方法和对象方法上面的区别 [问题分析]大家都知道,在Java中,synchronized 是用来表示同步的,我们可以synchronized ...
- SQL查询连续年份
有这样一个问题,给出一个表格记录了夺冠球队的名称和年份,我们要做的就是写出一条SQL语句,查询再次期间连续夺冠的有哪些,起止时间是什么 下边是代码 create table #t(TEAM vaarc ...
- jvm主要组成部分及其作用
1.类加载器(Class Loader):加载类文件到内存.Class loader只管加载,只要符合文件结构就加载,至于能否运行,它不负责,那是有Exectution Engine 负责的. 2.执 ...
- mysql 存储引擎介绍2
了解MYSQL的都知道,在MYSQL中建立任何一张数据表,在其数据目录对应的数据库目录下都有对应表的.frm文件,.frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等,.frm ...
- oracle 数据恢复
闪回表删除之前 flashback table t1 to before drop; 如果彻底删除表此方法无效 若要彻底删除表,则使用语句:drop table <table_name> ...
- webpack (1)
node_modules/.bin/webpack 用webpack 打包 因为我们没有全局安装webpack 所以要用到这条命令 创建html npm install --save-dev html ...