处理命令行参数

 1 #-*-coding:utf-8-*-
__author__ = 007
__date__ = 16 / 1 / 19 from optparse import OptionParser # usage 定义的是使用方法
# %prog 表示脚本本身
# version 定义的是脚本名字和版本号
options = OptionParser(usage= "usage: %prog [options] arg1 arg2",version="%prog 1.2") # add_option()方法定义命令行参数
# -u,--user 表示一个是短选项 一个是长选项
# dest="user" 将该用户输入的参数保存到变量user中,可以通过options.user方式来获取该值
# type=str 表示这个参数的类型必须是str字符型,如果是其他类型那么将强制转换为str(可能会报错)
# metavar="user" 当用户查看帮助信息,如果metavar没有设值,那么显示的帮助信息的参数后面默认带上dest所定义的变量名
# help="Enter User Name" 显示的帮助提示信息
# default=True 表示如果参数后面没有跟值,那么将默认为变量default的值
options.add_option("-u","--user",dest="user",action="store",type=str,metavar="user",help="Enter User Name!")
options.add_option("-f","--file",dest="filename",help="write report to FILE",metavar="FILE") # action有三种类型:
# action="store" 默认类型,可以忽略不写.用户必须给出一个明确的参数值,该类型定义了将实际参数值保存到dest指定变量中
# action="store_true" 用户不需给出参数值,该类型定义了将布尔值true保存到dest指定的变量中
# action="store_false" 用户不需给出参数值,该类型定义了将布尔值false保存到dest指定的变量中
options.add_option("-v",help="Version!")
options.set_defaults(v=2.0) #也可以这样设置默认值 #parse_args()解析程序的命令行,返回两个值
#opts:它是一个对象(optpars.Values),保存命令行参数值.只要知道命令行参数名,如user,就可以访问其对应的值:opts.user
#args:它是一个由positional arguments组成的列表
(opts,args) = options.parse_args()

最新文章

  1. Solr学习总结(四)Solr查询参数
  2. 关于OC中的block自己的一些理解(一)
  3. POJ3967Ideal Path[反向bfs 层次图]
  4. 解决企业In-House安装APP需HTTPS支持的问题(转载)
  5. c/c++:动态库 静态库 linux/windows 例子 (转)
  6. 转:[ASP.NET]重構之路系列v4 – 簡單使用interface之『你也會IoC』
  7. 黑马程序员——Objective-c特性
  8. JasperReports+iReport打印为excel表头重复问题解决
  9. wechat server的配置
  10. 领域驱动设计(Domain Driven Design)参考架构详解
  11. 从用eclipse还是idea所想到的
  12. C#中的Unsafe和Fixed
  13. ABP官方文档翻译 6.3 本地化
  14. Erlang cowboy routing 路由
  15. [C++]UVaLive7324 ASCII Addtion
  16. mybatis加载属性
  17. jackson工具类 对象转字符串 -- 字符串转对象
  18. C#连接Oracle错误:OCIEnvCreate 失败,返回代码为 -1
  19. .NET 11 个 Visual Studio 代码性能分析工具
  20. 字符与字符串3——char 的大小

热门文章

  1. 使用 Struts 2 实现国际化
  2. HDU 1038 - Biker's Trip Odometer
  3. 【noip2012提高组】国王游戏
  4. php curl封装类
  5. OpenLayers访问WTMS服务及添加Googlemap
  6. poj1503---大数加法
  7. zoj2588 Burning Bridges(无向图的桥)
  8. 京东区块排版负margin用法
  9. 负margin新解
  10. Android-Tab单选控件