python—模块optparse的用法
1.什么是optparse:
在工作中我们经常要制定运行脚本的一些参数,因为有些东西是随着我么需求要改变的,所以在为们写程序的时候就一定不能把写死,这样我们就要设置参数
optparse用于处理命令行参数:
2.基本用法
# 首先你必须导入该类,并创建一个OptionParser对象,然后再使用parser.add_option(...)待定义命令行参数 import optparse #实例化一个 OptionParser 对象(可以带参,也可以不带参数),带参的话会把参数变量的内容作为帮助信息输出。
Usage = 'main_analyze.py -d yyyy-mm-dd -p(path)'
Parser = optparse.OptionParser(usage=Usage) def usage():
Parser.add_option("-d", "--date", dest="date", default="", help=r'yyyy-mm-dd 可当做一个通配使用')
Parser.add_option("-l", "--log-path", dest="path", help=r"Log file dir.")
Parser.add_option("-c", "--channel", dest="channel", default="\d+", help=r"Log file dir.") ## -c/--channel 都可以 if __name__ == '__main__':
usage()
(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:
def __init__(self, date, path channel):
self.date = date
self.year, self.month, self.day = date.split('-')
self.path = path
self.patern = re.compile(
r'%s/%s/%s/%s/' % (app_id, platform, channel_type, channel) + self.year + '/' + str(
int(self.month)) + '/' + str(int(self.day)))
各个参数的含义:
dest:用于保存输入的临时变量,其值通过options的属性进行访问,存储的内容是dest之前输入的参数,多个参数用逗号分隔
type: 用于检查命令行参数传入的参数的数据类型是否符合要求,有 string,int,float 等类型
help:用于生成帮助信息
default: 给dest的默认值,如果用户没有在命令行参数给dest分配值,则使用默认值
3.运行
1. 可以在pycharm中配置参数


2.在终端的时候直接运行文件
列如:
import optparse
usage="python %prog -H <target host> -p/-P <target ports>" #用于显示帮助信息
parser=optparse.OptionParser(usage) #创建对象实例
parser.add_option('-H',dest='Host',type='string',help='target host') ##需要的命令行参数
parser.add_option('-P','-p',dest='Ports',type='string',help='target ports' default="20,21") ## -p/-P 都可以
(options,args)=parser.parse_args()
print(options.Host)
print(options.Ports)

python—模块optparse的用法的更多相关文章
- python模块 __name=='__main__' 用法
python模块 __name=='__main__' 用法1.ceshi_mod1.pydef test1(): print('111111')def test2(): print('2222')i ...
- python 模块 optparse
optparse,是一个能够让程式设计人员轻松设计出简单明了.易于使用.符合标准的Unix命令列程式的Python模块.生成使用和帮助信息. 下面是一个简单的示例: import optparse p ...
- python模块----optparse模块、argparse模块 (命令行解析模块)
简介 optparse module---自版本3.2以来已弃用:optparse模块已弃用,将不再进一步开发:将继续使用argparse模块进行开发.optparse使用一种更具声明性的命令行解析方 ...
- python模块—optparse
处理命令行参数 1 #-*-coding:utf-8-*- __author__ = 007 __date__ = 16 / 1 / 19 from optparse import OptionPar ...
- python模块import具体用法
同级目录 import 文件名 form 文件名 import * 子目录 import 目录名.文件名 form 目录名.文件名 import * 不同目录 先导入sys包,然后把对应的目录加入pa ...
- python模块turtle简单用法
##初始化turtle:t = turtle.Turtle() 或者 t = turtle.Pen()##查询turtle状态#位置t.position() #箭头朝向,箭头朝向按照顺时针或者逆时针偏 ...
- python中os模块和sys模块的常见用法
OS模块的常见用法 os.remove() 删除文件 os.rename() 重命名文件 os.walk() 生成目录树下的所有文件名 os.chdir() 改变目录 os.mkd ...
- python模块之HTMLParser之穆雪峰的案例(理解其用法原理)
# -*- coding: utf-8 -*- #python 27 #xiaodeng #python模块之HTMLParser之穆雪峰的案例(理解其用法原理) #http://www.cnblog ...
- Python中logging模块的基本用法
在 PyCon 2018 上,Mario Corchero 介绍了在开发过程中如何更方便轻松地记录日志的流程. 整个演讲的内容包括: 为什么日志记录非常重要 日志记录的流程是怎样的 怎样来进行日志记录 ...
随机推荐
- maven配置阿里云仓库进行下载
maven阿里云仓库下载 为了解决maven在下载jar包的时候,速度比较慢的问题,可以配置阿里云仓库配置方式的进行下载,首先找到您安装的maven路径. 在conf文件夹下面有个settings.x ...
- STM32F429时钟不正确导致串口无法正确收发
老早之前自己做了块F4的板子,设计原理图时没有去找官方参考,看了手册后就开工了,做完板子回来测试串口发现PC端接收到的都是乱码,尝试了几种波特率也没能正确接收,串口的代码是官方参考例程的,不应该有问题 ...
- Swagger使用的时候报错:Failed to load API definition
NuGet添加Swashbuckle.AspNetCore,在Startup.cs添加和启用中间件Swagger public void ConfigureServices(IServiceColle ...
- 嵌入式Linux内核开发工程师必须掌握的三十道题
如果你能正确回答以下问题并理解相关知识点原理,那么你就可以算得上是基本合格的Linux内核开发工程师. 1. Linux中主要有哪几种内核锁?(进程同步与互斥) (1)自旋锁:非睡眠锁 (2)信号量: ...
- 「从零单排canal 02」canal集群版 + admin控制台 最新搭建姿势(基于1.1.4版本)
canal [kə'næl],译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据 订阅 和 消费.应该是阿里云DTS(Data Transfer Service)的开 ...
- R调用python模块
明明已经安装了sctransfer,但仍然显示没有该模块 Error in py_module_import(module, convert = convert) : ModuleNotFoundEr ...
- 描述一下 JVM 加载 class 文 件的原理机制?
JVM 中类的装载是由 ClassLoader 和它的子类来实现的, Java ClassLoader 是一个重要的 Java 运行时系统组件.它负责在运行时查找和装入类文件的类.
- 没有国产主机,怎么开发:交叉编译和QEMU虚拟机
1. 背景 近期国产化的趋势越来越浓,包括国产操作系统.国产CPU等.时隔十多年,QQ for Linux也更新了.做为软件开发人员,"有幸"也需要适配国产化.至于国产化的意义等就 ...
- 关于UDP的检验和计算(附代码)
关于UDP的检验和计算(附代码) 在下午的学习过程中https://www.cnblogs.com/roccoshi/p/13032356.html 有一张图讲述了UDP的校验方法, 如下: 老师只粗 ...
- TensorFlow从0到1之TensorFlow损失函数(12)
正如前面所讨论的,在回归中定义了损失函数或目标函数,其目的是找到使损失最小化的系数.本节将介绍如何在 TensorFlow 中定义损失函数,并根据问题选择合适的损失函数. 声明一个损失函数需要将系数定 ...