文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Python程序的命令行选项的解析

Python程序的命令行选项的解析

时间:2008-11-27  来源:taoyuliang

     在写bbs上批量下载和上传脚本的时候,偶然发现了标准库中的optparse这个库,发现甚至好用。本来自己写了一个函数,optionparse,花了很大的功夫,可是发现还不如利用optparse库的几行代码。这个模块的具体使用细节可以参见Python lib的文档14.3节——"optparse — More powerful command line option parser",这里只总结一些基本的用法。

     首先需要导入模块import optparse
     有三种方法可以添加一个option:
     (1) 利用add_option函数:     

from optparse import OptionParser
[...]
parser = OptionParser()
parser.add_option("-f", "--file", dest="filename",
help="write report to FILE", metavar="FILE")
parser.add_option("-q", "--quiet",
action="store_false", dest="verbose", default=True,
help="don’t print status messages to stdout")

(options, args) = parser.parse_args()


(2) 利用make_option函数:

from optparse import OptionParser, make_option

    # useage
    usage = "usage: python %prog [options] arg"

    # make options
    option_list = [
                    make_option("-f", "--file", dest="filename",
help="write report to FILE", metavar="FILE" ),
                    make_option("-a", "--author", dest="author", help="Specify the author of subjects"),                   
                    make_option("-d", "--date", action="store_true", dest="saveDate", default=False, help="Store the daownloaded files into a drectory named as subject id" )
                 ]

    # add options and parse
    parser = OptionParser(usage=usage, option_list=option_list, version="%prog 1.1")

(options, args) = parser.parse_args()


上述代码中实例化OptionParser时的参数version="%prog 1.1"可以使程序支持选项"--version"

     要使用一个option,可以这样,如上例中,我们要检查用户是否设置了-f,-a和-d选项(或者--file,--author和--date):

if options.filename != None :

    print options.filename

if options.author != None :

    print options.author

if options.saveDate == True :

    print "user set the -d or --date option"


     这个模块还有一些高级的用法,可以让你写出比较professional的程序命令行选项,让你的程序更人性化,具体可以参考lib文档中上面提到的章节。
相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载