如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Python有两个内建的模块用于处理命令行参数,一个是getopt,《Deepinpython》一书中也有提到,只能简单处理命令行参数;另一个是optparse,它功能强大,而且易于使用,可以方便地生成标准的、符合Unix/Posix规范的命令行说明。示例下面是一个使用optparse的简单示例:fromoptparseimportOptionParser[...]parser=OptionParser()parser.add_option("-f","--file",dest="filename",help="writereporttoFILE",metavar="FILE")parser.add_option("-q","--quiet",action="store_false",dest="verbose",default=True,help="don'tprintstatusmessagestostdout")(options,args)=parser.parse_args()现在,?就可以在命令行下输入:<yourscript>--file=outfile-q<yourscript>-foutfile--quiet<yourscript>--quiet--fileoutfile<yourscript>-q-foutfile<yourscript>-qfoutfile上面这些命令是相同效果的。除此之外,optparse还为我们自动生成命令行的帮助信息:<yourscript>-h<yourscript>--help输出:usage:<yourscript>[options]options:-h,--helpshowthishelpmessageandexit-fFILE,--file=FILEwritereporttoFILE-q,--quietdon'tprintstatusmessagestostdout简单流程首先,必须importOptionParser类,创建一个OptionParser对象:fromoptparseimportOptionParser[...]parser=OptionParser()然后,使用add_option来定义命令行参数:parser.add_option(opt_str,...,attr=value,...)每个命令行参数就是由参数名字符串和参数属性组成的。如-f或者?file分别是长短参数名:parser.add_option("-f","--file",...)最后,一旦你已经定义好了所有的命令行参数,调用parse_args()来解析程序的命令行:(options,args)=parser.parse_args()注:你也可以传递一个命令行参数列表到parse_args();否则,默认使用sys.argv[:1]。parse_args()返回的两个值:*options,它是一个对象(optpars.Values),保存有命令行参数值。只要知道命令行参数名,如file,就可以访问其对应的值:options.file。*args,它是一个由positionalarguments组成的列表。Actionsaction是parse_args()方法的参数之一,它指示optparse当解析到一个命令行参数时该如何处理。actions有一组固定的值可供选择,默认是’store‘,表示将命令行参数值保存在options对象里。示例parser.add_option("-f","--file",action="store",type="string",dest="filename")args=["-f","foo.txt"](options,args)=parser.parse_args(args)printoptions.filename最后将会打印出“foo.txt”。当optparse解析到’-f’,会继续解析后面的’foo.txt’,然后将’foo.txt’保存到options.filename里。当调用parser.args()后,options.filename的值就为’foo.txt’。你也可以指定add_option()方法中type参数为其它值,如int或者float等等:parser.add_option("-n",type="int",dest="num")默认地,type为’string’。也正如上面所示,长参数名也是可选的。其实,dest参数也是可选的。如果没有指定