作用:一种类似于dos命令行的一种设计模块,例如:dos命令中添加-f会触发一种事件
可以自定义一些指令,用来完成某些操作
optparse.OptionParser()
optionparser()类
--该类提供了optparse一些常用的方法
from optparser import OptionParser parser = OptionParser()
--parser.add_option()
用来自定义指令
parser.add_option("-f", "--fil") (option, params) = parser.parser_args() print(option) print(params)
--两个参数,一个是命令的简写(-简写名称)一个是命令的全称(--全称名称)
1)一个指令附加一条信息
(pytorch01) D:\编程项目\Python\svm_study>python test2.py -f 2 {'fil': '2'} []
2)无指令附加信息
(pytorch01) D:\编程项目\Python\svm_study>python test2.py 1 2 3 4 {'fil': None} ['1', '2', '3', '4']
3)一个指令附加多条信息
(pytorch01) D:\编程项目\Python\svm_study>python test2.py -f 1 2 3 4 {'fil': '1'} ['2', '3', '4']
4)有效指令前附加信息
(pytorch01) D:\编程项目\Python\svm_study>python test2.py 1 -f 2 3 4 {'fil': '2'} ['1', '3', '4']
5)综合指令
(pytorch01) D:\编程项目\Python\svm_study>python test2.py 1 -f 2 3 x=4 {'fil': '2'} ['1', '3', 'x=4']
综上:
parser.parser_args()返回的是一个字典类型数据,其中的key值由定义进行确定,有则记录,无则由params全部打包带走
注:parser.parser_args([可以自行指定命令及对应数据]),此时输入其他参数无效,也不会被params打包带走
parser.add_option("-f", "--file") (options, args) = parser.parse_args(["-f", "12"]) #与["-f12"]等价 print(options) print(args)
(pytorch01) D:\编程项目\Python\svm_study>python test2.py -f 1 2 3 {'filename': '12'} []
上面的写法仅仅写了两个参数,下面我们来丰富一下其他参数
parser.add_option("-f", "--file", action="store", type="string", dest="filename", default="哈哈") (options, args) = parser.parse_args() print(options) print(options.filename, type(options.filename)) print(args)
(pytorch01) D:\编程项目\Python\svm_study>python test2.py -f 1 2 3 {'filename': '1'} 12 <class 'str'> ['2', '3']
可以看到
1)dest=""
该字符串用来覆盖之前的key名,也就是选项名(真正的命名)
2)action=""
①为store时:告诉optparse按照add_option时定义的那样解析,即必须有数据给指令。
②为store_true时:option后面有参数那么选项值为True,默认指令数据为True。
③为store_false时:option后面有参数那么选项值为False,默认指令数据为False。
3)type=""
该数据用来指定命令后面的参数类型
4)default=""
该数据用于指定一个默认参数给指令,一旦指定,即不会改变
5)help=""
该数据又来解释说明对应命令,该数据在parser.print_help时输出
6)metavar=""
该数据用来解释说明简称和全称,该数据在parser.print_help时输出
--parser.print_help()
用来输出整个命令的内容说明
USAGE = "one two three" parser = OptionParser(USAGE) parser.add_option("-f", "--file", action="store", type="string", dest="filename", default="hahaha", help="no help") parser.print_usage() parser.print_help()
(pytorch01) D:\编程项目\Python\svm_study>python test2.py -f 1 2 3 Usage: one two three Usage: one two three Options: -h, --help show this help message and exit -f FILENAME, --file=FILENAME no help
optionParser(标题的内容)
如果标题内容有输入,则parser.print_usage()就会调用这个内容,但是无论是否调用,该内容总会在窗口输出
以上内容参考:Optparse模块学习,optparse