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

python——内建模块optparse的用法

时间:2019-05-05 17:54:44      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:ack   分配   help   创建对象   pycharm   多个参数   导入   png   临时   

1.什么是optparse:

在工作中我们经常要制定运行脚本的一些参数,因为有些东西是随着我么需求要改变的,所以在为们写程序的时候就一定不能把写死,这样我们就要设置参数

optparse用于处理命令行参数:

 

2.基本用法

 1 # 首先你必须导入该类,并创建一个OptionParser对象,然后再使用parser.add_option(...)待定义命令行参数
 2 
 3 import optparse
 4 
 5 #实例化一个 OptionParser 对象(可以带参,也可以不带参数),带参的话会把参数变量的内容作为帮助信息输出。
 6 Usage = ‘main_analyze.py -d yyyy-mm-dd -p(path)‘
 7 Parser = optparse.OptionParser(usage=Usage)
 8 
 9 def usage():
10     Parser.add_option("-d", "--date", dest="date", default="", help=ryyyy-mm-dd 可当做一个通配使用)
11     Parser.add_option("-l", "--log-path", dest="path", help=r"Log file dir.")
15     Parser.add_option("-c", "--channel", dest="channel", default="\d+", help=r"Log file dir.")   ## -c/--channel 都可以
16 
17 
18 if __name__ == __main__:
19     usage()
20 (option, args) = Parser.parse_args() #解析脚本输入的参数值,options是一个包含了option值的对象 #args是一个位置参数的列表
21   anal = bbt_analyze.Analyze(option.date, option.path, option.channel)
22   anal.run()
 # bbt_analyze.py文件
1
class Analyze: 2 def __init__(self, date, path channel): 3 self.date = date 4 self.year, self.month, self.day = date.split(-) 5 self.path = path 6 self.patern = re.compile( 7 r%s/%s/%s/%s/ % (app_id, platform, channel_type, channel) + self.year + / + str( 8 int(self.month)) + / + str(int(self.day)))

 

各个参数的含义:

dest:用于保存输入的临时变量,其值通过options的属性进行访问,存储的内容是dest之前输入的参数,多个参数用逗号分隔
type: 用于检查命令行参数传入的参数的数据类型是否符合要求,有 string,int,float 等类型
help:用于生成帮助信息
default: 给dest的默认值,如果用户没有在命令行参数给dest分配值,则使用默认值

 

3.运行

1. 可以在pycharm中配置参数 

技术图片技术图片

 

2.在终端的时候直接运行文件

列如:

1 import optparse
2 usage="python %prog -H <target host> -p/-P <target ports>"  #用于显示帮助信息
3 parser=optparse.OptionParser(usage)  #创建对象实例
4 parser.add_option(-H,dest=Host,type=string,help=target host)   ##需要的命令行参数
5 parser.add_option(-P,-p,dest=Ports,type=string,help=target ports default="20,21")  ## -p/-P 都可以
6 (options,args)=parser.parse_args()
7 print(options.Host)
8 print(options.Ports)

 

技术图片

 

python——内建模块optparse的用法

标签:ack   分配   help   创建对象   pycharm   多个参数   导入   png   临时   

原文地址:https://www.cnblogs.com/yuanfang0903/p/10815140.html

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