为了从更快的的使用这个模块,我们会省略一些东西,开始吧。

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模块的更多相关文章

  1. python OptParse模块的用法详解

    OptParse模块的简单介绍 Python 有两个内建的模块用于处理命令行参数: 一个是 getopt只能简单处理 命令行参数: 另一个是 optparse,它功能强大,而且易于使用,可以方便地生成 ...

  2. python optparse模块的简单用法

    # coding = utf-8 from optparse import OptionParser from optparse import OptionGroup usage = 'Usage: ...

  3. python optparse模块的用法

    引用原博主文章链接: https://www.cnblogs.com/darkpig/p/5717902.html

  4. 最简单的optparse模块的用法

    optparse模块是python自带的模块,可用于处理命令行 #!/usr/bin/env python # -*- coding: utf-8 -*- """ __a ...

  5. python模块----optparse模块、argparse模块 (命令行解析模块)

    简介 optparse module---自版本3.2以来已弃用:optparse模块已弃用,将不再进一步开发:将继续使用argparse模块进行开发.optparse使用一种更具声明性的命令行解析方 ...

  6. Python中的optparse模块的使用

    optparse模块主要用来为脚本传递命令参数,采用预先定义好的选项来解析命令行参数. 实例化一个 OptionParser 对象(可以带参,也可以不带参数),带参的话会把参数变量的内容作为帮助信息输 ...

  7. Python中optparse模块使用浅析

    转载:http://www.jb51.net/article/59296.htm 最近遇到一个问题,是指定参数来运行某个特定的进程,这很类似Linux中一些命令的参数了,比如ls -a,为什么加上-a ...

  8. python中optparse模块用法

    optparse模块主要用来为脚本传递命令参数,采用预先定义好的选项来解析命令行参数. 首先需要引入optparser模块,然后执行初始化,实例化一个OptionParser对象(可以带参,也可以不带 ...

  9. python - 常用模块栗子

    前言  内容摘自Python参考手册(第4版) 及 自己测试后得出.仅作为一个简单记录,方便使用查询之用. 另 dir(func)及func.__doc__可以查看对象属性及说明文档. 序列Seque ...

随机推荐

  1. PHP流程控制语句下

    ok,继续搞. while循环: while(expr){ 程序块: } 条件expr成立执行程序块,否则结束. do while循环:do while循环比while循环要多循环一次,它要先执行程序 ...

  2. 关于不同进制数之间转换的数学推导【Written By KillerLegend】

    关于不同进制数之间转换的数学推导 涉及范围:正整数范围内二进制(Binary),八进制(Octonary),十进制(Decimal),十六进制(hexadecimal)之间的转换 数的进制有多种,比如 ...

  3. Laravel 5 基础(三)- 向视图传送数据

    我们在Routes.php中新建一个路由 Route::get('about', 'PagesController@about'); 在浏览器中浏览会获得一个错误,错误信息仅仅是一个提示信息,缺少细节 ...

  4. Delphi XE5教程9:基本语法元素

    内容源自Delphi XE5 UPDATE 2官方帮助<Delphi Reference>,本人水平有限,欢迎各位高人修正相关错误!也欢迎各位加入到Delphi学习资料汉化中来,有兴趣者可 ...

  5. SQL中char,varchar,nvarchar等的异同

    比较这几个数据类型,总是忘记,可能比较细节的原因.先做个记号,回头完善.

  6. php中函数内使用static修饰变量

    首先理解静态变量的区别,声明一个函数test() function num(){ $a = 0; echo $a; $a++; } num();num();num(); //输出000 functio ...

  7. How To Fix – Mcrypt PHP extension required in Laravel on Mac OS X (No MAMP)

    Laravel PHP web framework requires certain libraries to function properly. One of these libraries is ...

  8. Python - python不是内部或外部命令

    [方法一]我的电脑->属性->高级->环境变量->系统变量   在系统变量里找到PATH,双击PATH,在结尾加上 ";C:\Python26"(不要引号) ...

  9. Feature Stapling in SharePoint 2010

    http://msdn.microsoft.com/en-us/library/bb861862(v=office.12).aspx http://gallery.technet.microsoft. ...

  10. 20145120 《Java程序设计》第3周学习总结

    20145120 <Java程序设计>第3周学习总结 教材学习内容总结 基本类型与类类型的概念 在java里使用数组和字符串 封装的概念 在java定义函数 重载的概念 static的概念 ...