码迷,mamicode.com
首页 > 编程语言 > 详细

python optparse命令解析模块

时间:2014-09-23 21:09:45      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   color   io   os   使用   ar   div   

Python 有两个内建的模块用于处理命令行参数:
一个是 getopt只能简单处理 命令行参数;
另一个是 optparse,它功能强大,而且易于使用,可以方便地生成标准的、符合Unix/Posix 规范的命令行说明。会自动帮你负责-h帮助选项。

import optparse
#usage 定义的是使用方法,%prog 表示脚本本身,version定义的是脚本名字和版本号
parse=optparse.OptionParser(usage="usage:%prog [options] arg1,arg2",version="%prog 1.2")
parse.add_option(-u,--user,dest=user,action=store,type=str,metavar=user,help=Enter User Name!!)
parse.add_option(-p,--port,dest=port,type=int,metavar=xxxxx,default=3306,help=Enter Mysql Port!!)
parse.add_option(-v,help=Mysql Version!!)
#-u,--user 表示一个是短选项 一个是长选项
#dest=‘user‘ 将该用户输入的参数保存到变量user中,可以通过options.user方式来获取该值
#type=str,表示这个参数值的类型必须是str字符型,如果是其他类型那么将强制转换为str(可能会报错)
#metavar=‘user‘,当用户查看帮助信息,如果metavar没有设值,那么显示的帮助信息的参数后面默认带上dest所定义的变量名
#help=‘Enter..‘,显示的帮助提示信息
#default=3306,表示如果参数后面没有跟值,那么将默认为变量default的值
parse.set_defaults(v=1.2)  #也可以这样设置默认值
options,args=parse.parse_args()
print OPTIONS:,options
print ARGS:,args
 
print ~*20
print user:,options.user
print port:,options.port
print version:,options.v

parse_args() 返回的两个值:
options,它是一个对象(optpars.Values),保存有命令行参数值。只要知道命令行参数名,如 user,就可以访问其对应的值: options.user
args:返回一个位置参数的列表

action有三种类型:
action=‘store‘ 默认类型,可以忽略不写。用户必须给出一个明确的参数值,该类型定义了将实际参数值保存到dest指定变量中
action=‘store_true‘ 用户不需给出参数值,该类型定义了将布尔值true保存到dest指定的变量中
action=‘store_false‘ 用户不需给出参数值,该类型定义了将布尔值false保存到dest指定的变量中

[root@localhost ~]# python  mysql.py -uroot -p3306 
OPTIONS: {v: 1.2, port: 3306, user: root}
ARGS: []
~~~~~~~~~~~~~~~~~~~~
user: root
port: 3306
version: 1.2
[root@localhost ~]# python  mysql.py --version
mysql.py 1.2

 

python optparse命令解析模块

标签:des   style   blog   color   io   os   使用   ar   div   

原文地址:http://www.cnblogs.com/pping/p/3989098.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!