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:

  1. 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
  2. Python模块学习——使用 optparse 处理命令行参数

    http://shelly-kuang.iteye.com/blog/797713
  3. optparse — Parser for command line options

    https://docs.python.org/3/library/optparse.html
  4. Python optparser库详解

    http://blog.csdn.net/marksinoberg/article/details/51842197

Optparse 简介的更多相关文章

  1. python OptParse模块的用法详解

    OptParse模块的简单介绍 Python 有两个内建的模块用于处理命令行参数: 一个是 getopt只能简单处理 命令行参数: 另一个是 optparse,它功能强大,而且易于使用,可以方便地生成 ...

  2. python模块----optparse模块、argparse模块 (命令行解析模块)

    简介 optparse module---自版本3.2以来已弃用:optparse模块已弃用,将不再进一步开发:将继续使用argparse模块进行开发.optparse使用一种更具声明性的命令行解析方 ...

  3. ASP.NET Core 1.1 简介

    ASP.NET Core 1.1 于2016年11月16日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强.这个版本包含了多个新的中间件组件.针对Windows的WebListener服 ...

  4. MVVM模式和在WPF中的实现(一)MVVM模式简介

    MVVM模式解析和在WPF中的实现(一) MVVM模式简介 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在 ...

  5. Cassandra简介

    在前面的一篇文章<图形数据库Neo4J简介>中,我们介绍了一种非常流行的图形数据库Neo4J的使用方法.而在本文中,我们将对另外一种类型的NoSQL数据库——Cassandra进行简单地介 ...

  6. REST简介

    一说到REST,我想大家的第一反应就是“啊,就是那种前后台通信方式.”但是在要求详细讲述它所提出的各个约束,以及如何开始搭建REST服务时,却很少有人能够清晰地说出它到底是什么,需要遵守什么样的准则. ...

  7. Microservice架构模式简介

    在2014年,Sam Newman,Martin Fowler在ThoughtWorks的一位同事,出版了一本新书<Building Microservices>.该书描述了如何按照Mic ...

  8. const,static,extern 简介

    const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编 ...

  9. HTTPS简介

    一.简单总结 1.HTTPS概念总结 HTTPS 就是对HTTP进行了TLS或SSL加密. 应用层的HTTP协议通过传输层的TCP协议来传输,HTTPS 在 HTTP和 TCP中间加了一层TLS/SS ...

随机推荐

  1. How to compile Linux kernel in fedora 6

    前提:已裝好Fedora 6 core 2.6.18 ,在 Fedora 6 中compile linux kernel.1.下載 Fedora 6 core 2.6.18 http://www.ke ...

  2. Centos7 部署ftp

    1.查看是否已经安装 vsftpd -version 2.安装vsftpd yum install -y vsftpd 3.新建FTP目录 mkdir /data/KodServer/data/Use ...

  3. Apache2.2学习笔记全集

    一.基本介绍 待补充... 二.Apache默认配置文件解释 # 定义apache运行的目录,即程序所在的位置 ServerRoot "/usr/local/apache2" # ...

  4. 如何判断一个List集合中是否有空值

    list.Any(v => string.IsNullOrWhiteSpace(v))

  5. setserial - 取得/设置 Linux 串行口的信息

    总览 setserial [ -abqvVWZ] 设备 [ 命令参数一 [ 设备变元参数 ] ] ... setserial -g [-abGv ] 设备一 ... 描述 setserial 是一个用 ...

  6. Codeforces 1203F (贪心, DP)

    题意:有n个任务,你的初始rating是m, 这n个任务有两个指标:完成这项任务所需的最低rating(a[i]),以及完成这项任务后rating的变化(可能为负)(b[i]).rating不能为负. ...

  7. Goldengate 应用环境 mysql to oracle

    前言 一个需求,mysql的某些表,实时同步至oracle,于是就产生了这篇文章,安装过程中,走了些弯路,原因是没太深刻理解,官方提供安装步骤所代表的意义. 环境 源端:mysql-server 5. ...

  8. 力扣——gas station (加油站) python实现

    题目描述: 中文: 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升. 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] ...

  9. Spring高频率面试题

    1.Spring怎样定义类的作用域 通过bean 定义中的scope属性来定义. 2.Spring支持的几种bean的作用域 支持以下五种bean的作用域: singleton : bean在每个Sp ...

  10. 【串线篇】SpringMVC运行流程

    1.所有请求,前端控制器(DispatcherServlet)收到请求,调用doDispatch进行处理 2.根据HandlerMapping中保存的请求映射信息找到,处理当前请求的,处理器执行链(包 ...