来源:http://www.cnblogs.com/pping/p/3989098.html?utm_source=tuicool&utm_medium=referral
来源:http://www.cnblogs.com/darkpig/p/5677153.html
来源:点击打开链接
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 001.py --version 001.py 1.2示例 2
<span style="font-size:12px;"># coding = utf-8 from optparse import OptionParser from optparse import OptionGroup usage = 'Usage: %prog [options] arg1 arg2 ...' parser = OptionParser(usage,version='%prog 1.0') #通过OptionParser类创建parser实例,初始参数usage中的%prog等同于os.path.basename(sys.argv[0]),即 #你当前所运行的脚本的名字,version参数用来显示当前脚本的版本。 ''' 添加参数,-f、--file是长短options,有一即可。 action用来表示将option后面的值如何处理,比如: XXX.py -f test.txt 经过parser.parse_args()处理后,则将test.txt这个值存储进-f所代表的一个对象,即定义-f中的dest 即option.filename = 'test.txt' action的常用选项还有store_true,store_false等,这两个通常在布尔值的选项中使用。 metavar仅在显示帮助中有用,如在显示帮助时会有: -f FILE, --filename=FILE write output to FILE -m MODE, --mode=MODE interaction mode: novice, intermediate, or expert [default: intermediate] 如果-f这一项没有metavr参数,则在上面会显示为-f FILENAME --filename=FILENAME,即会显示dest的值 defalut是某一选项的默认值,当调用脚本时,参数没有指定值时,即采用default的默认值。 ''' parser.add_option('-f','--file', action='store',dest='filename', metavar='FILE',help='write output to FILE') parser.add_option('-m','--mode', default = 'intermediate', help='interaction mode:novice,intermediate,or expert [default:
