python optparse模块
为了从更快的的使用这个模块,我们会省略一些东西,开始吧。
1. 加载模块
from optparse import OptionParser
2. 实例化OptionParse,可以理解为表明useage和version:如
parser = OptionParser(usage="usage: %prog [options] <start directory> <OPTIONAL: filename regex>",
version="%prog 1.0")
3. 添加参数,如-c,--csv啥的,也就是你想要添加的功能参数。你可以添加很多,随你的需要
parser.add_option("-c", "--csv",#-c 就是参数的缩写了:-c,--csv也是全程了,其实是一个意思,用那个都行
action="store",#这里可以游3个值,store,store_true,store_false,就是用store就可以了,没必要研究那么多
dest="is_csv",#这个很重要,是存储的变量,后面的程序调用参数的值就靠它了,比如is_sev 是true还是false。is_cev 后面的文件路径等
default=False,#缺省值
help="generate CSV outfile",#help时的输出信息
metavar="FILECSV")#说明参数的的类型,是路径还是文件等。
4. 解析参数,赋值给options和args。
(options, args) = parser.parse_args()
'''
如果我将options和args 打印出来是这样的
print args,len(args)
print options
['c:/test'] 1
{'test1':False,'test2':False} options让你可以通过直接调用前面提到的过dest中的值来访问参数,
例如:
if options.is_all:
你要执行的代码 argv就是参数的列表了,加入命令是这样的test.py -a -c /usr/test
那么:argv[0] 就是 /usr/test '''
5. 好了,现在已经解析完参数了,剩下就是处理逻辑了,当用户指定了这个参数,我们应该做什么处理。应该怎么做呢?
首先如果我这个程序是需要用户给出至少一个参数的,并且我想判断下他给的路径是不是存在的,那么我可以这么做:
if len(args) < 1:
parser.print_help()
print ""
sys.exit() if os.path.exists(args[0]) == False:
parser.error("Invalid path")
然后需要处理具体的参数的逻辑:
然后处理参数的逻辑:
if options.is_csv:
csv_array.insert(0,csv_header)
fileOutput = csv.writer(open(options.is_csv, "wb"))
fileOutput.writerows(csv_array)
好了,搞定收工。
python optparse模块的更多相关文章
- python OptParse模块的用法详解
OptParse模块的简单介绍 Python 有两个内建的模块用于处理命令行参数: 一个是 getopt只能简单处理 命令行参数: 另一个是 optparse,它功能强大,而且易于使用,可以方便地生成 ...
- python optparse模块的简单用法
# coding = utf-8 from optparse import OptionParser from optparse import OptionGroup usage = 'Usage: ...
- python optparse模块的用法
引用原博主文章链接: https://www.cnblogs.com/darkpig/p/5717902.html
- 最简单的optparse模块的用法
optparse模块是python自带的模块,可用于处理命令行 #!/usr/bin/env python # -*- coding: utf-8 -*- """ __a ...
- python模块----optparse模块、argparse模块 (命令行解析模块)
简介 optparse module---自版本3.2以来已弃用:optparse模块已弃用,将不再进一步开发:将继续使用argparse模块进行开发.optparse使用一种更具声明性的命令行解析方 ...
- Python中的optparse模块的使用
optparse模块主要用来为脚本传递命令参数,采用预先定义好的选项来解析命令行参数. 实例化一个 OptionParser 对象(可以带参,也可以不带参数),带参的话会把参数变量的内容作为帮助信息输 ...
- Python中optparse模块使用浅析
转载:http://www.jb51.net/article/59296.htm 最近遇到一个问题,是指定参数来运行某个特定的进程,这很类似Linux中一些命令的参数了,比如ls -a,为什么加上-a ...
- python中optparse模块用法
optparse模块主要用来为脚本传递命令参数,采用预先定义好的选项来解析命令行参数. 首先需要引入optparser模块,然后执行初始化,实例化一个OptionParser对象(可以带参,也可以不带 ...
- python - 常用模块栗子
前言 内容摘自Python参考手册(第4版) 及 自己测试后得出.仅作为一个简单记录,方便使用查询之用. 另 dir(func)及func.__doc__可以查看对象属性及说明文档. 序列Seque ...
随机推荐
- Word 使用技巧
文档的写作,例来分为latex与word两大阵营.一个是论文界的宠儿,一个是平民的所见即所得.看起来好像前者更加牛一些. 本来我也是觉得latex比word好.但是使用latex时苦于找不到一个好的编 ...
- IEEE802是一个局域网标准系列
视频教程 http://v.youku.com/v_show/id_XNjgyODA0NzE2.html?from=s1.8-1-1.2 干线 总线+环形网的传递机制 环形令牌总线 802.4
- z470 装黑苹果 10.92
1.分两个区,一个是mac安装区,一个是镜像拷贝区. 2.把镜像压进去. 3.安装好系统. 4.把镜像区的 extent拷贝到安装好的系统盘里去. 5.安装驱动,网盘里有.还有系统也在网盘里. 6.声 ...
- 活动图 Activity Diagram
活动图 可通过一系列操作将业务流程或软件进程以工作流的形式显示出来.这些操作可以由人.软件组件或计算机来执行. 使用活动图可以描述多种类型的流程,如下: 1.用户和您的系统之间的业务流程或工作流. 2 ...
- Running Central Admin on Multiple Servers within a Farm
http://sharepoint.microsoft.com/blogs/fromthefield/Lists/Posts/Post.aspx?ID=60
- 设计模式Builder(建造者)模式
1.出现原因 在软件系统中,有时候会面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成:由于需求的变化,这个复杂的对象的各个部分可能面临着剧烈的变化,但是把他们组合在一起的算法 ...
- 10.31Daily Scrum
人员 任务分配完成情况 明天任务分配 王皓南 主网页的框架搭建,任务编号752 研究代码,学习相应语言,讨论设计思路 申开亮 学习数据库的操作,任务编号753 研究代码,学习相应语言,讨论设计思路 王 ...
- Windows 7 下配置IIS,并且局域网内可访问
win7的iis很麻烦滴!我搭建过一次!不过有点问题!还是xp好! 一.进入Win7的 控制面板,选择左侧的 打开或关闭Windows功能 . 二.现在出现了安装Windows功能的选项菜单,注意选择 ...
- CSS3展现精彩的动画效果 css3的动画属性
热火朝天的css3无疑吸引了很多前端开发者的眼球,然而在css3中的动画属性则是新功能中的主打招牌,说到css3的动画属性不得不让人想起这三个属性:Transform﹑Transition﹑Anima ...
- 【HDOJ】【3037】Saving Beans
排列组合 啊……这题是要求c(n-1,0)+c(n,1)+c(n+1,2)+......+c(n+m-1,m) 这个玩意……其实就等于c(n+m,m) 好吧然后就是模P……Lucas大法好= = 我S ...