python处理命令行参数.pdf
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《python处理命令行参数.pdf》由会员分享,可在线阅读,更多相关《python处理命令行参数.pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Python 有两个内建的模块用于处理命令行参数,一个是有两个内建的模块用于处理命令行参数,一个是 getopt,Deep in python一书中也有提到,只能简单处理命令行参数;另一个是一书中也有提到,只能简单处理命令行参数;另一个是 optparse,它,它功能强大,而且易于使用,可以方便地生成标准的、符合功能强大,而且易于使用,可以方便地生成标准的、符合 Unix/Posix 规范的命令行说明。规范的命令行说明。示例示例 下面是一个使用下面是一个使用 optparse 的简单示例:的简单示例:from optparse import OptionParser.parser=Option
2、Parser()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=dont print status messages to stdout)(options,args)=parser.parse_args()现在,现在,?就可以在命令行下输入:就可以在命令行下输入:-file=outfile-q -f outfile-quiet -
3、quiet-file outfile -q-foutfile -qfoutfile 上面这些命令是相同效果的。除此之外,上面这些命令是相同效果的。除此之外,optparse 还为我们自动生成命令行的还为我们自动生成命令行的帮助信息:帮助信息:-h -help 输出:输出:usage:options options:-h,-help show this help message and exit -f FILE,-file=FILE write report to FILE -q,-quiet dont print status messages to stdout 简单流程简单流程 首先,必须
4、首先,必须 import OptionParser 类,创建一个类,创建一个 OptionParser 对象:对象:from optparse import OptionParser.parser=OptionParser()然后,使用然后,使用 add_option 来定义命令行参数:来定义命令行参数:parser.add_option(opt_str,.,attr=value,.)每个命令行参数就是由参数名字符串和参数属性组成的。如每个命令行参数就是由参数名字符串和参数属性组成的。如-f 或者或者?file 分别分别是长短参数名:是长短参数名:parser.add_option(-f,-f
5、ile,.)最后,一旦你已经定义好了所有的命令行参数,调用最后,一旦你已经定义好了所有的命令行参数,调用 parse_args()来解析程序来解析程序的命令行:的命令行:(options,args)=parser.parse_args()注:注:你也可以传递一个命令行参数列表到你也可以传递一个命令行参数列表到 parse_args();否则,默认使用;否则,默认使用 sys.argv:1。parse_args()返回的两个值:返回的两个值:*options,它是一个对象(,它是一个对象(optpars.Values),保存有命令行参数值。只要知道),保存有命令行参数值。只要知道命令行参数名,如
6、命令行参数名,如 file,就可以访问其对应的值:,就可以访问其对应的值:options.file。*args,它是一个由,它是一个由 positional arguments 组成的列表。组成的列表。Actions action 是是 parse_args()方法的参数之一,它指示方法的参数之一,它指示 optparse 当解析到一个命令行当解析到一个命令行参数时该如何处理。参数时该如何处理。actions 有一组固定的值可供选择,默认是有一组固定的值可供选择,默认是store,表示将,表示将命令行参数值保存在命令行参数值保存在 options 对象里。对象里。示例示例 parser.add
7、_option(-f,-file,action=store,type=string,dest=filename)args=-f,foo.txt(options,args)=parser.parse_args(args)print options.filename 最后将会打印出最后将会打印出“foo.txt”。当当 optparse 解析到解析到-f,会继续解析后面的,会继续解析后面的foo.txt,然后将,然后将foo.txt保存到保存到 options.filename 里。当调用里。当调用 parser.args()后,后,options.filename 的值就为的值就为foo.txt
8、。你也可以指定你也可以指定 add_option()方法中方法中 type 参数为其它值,如参数为其它值,如 int 或者或者 float 等等等:等:parser.add_option(-n,type=int,dest=num)默认地,默认地,type 为为string。也正如上面所示,长参数名也是可选的。也正如上面所示,长参数名也是可选的。其实,其实,dest 参参数也是可选的。如果没有指定数也是可选的。如果没有指定 dest 参数,将用命令行的参数名来对参数,将用命令行的参数名来对 options 对对象的值进行存取。象的值进行存取。store 也有其它的两种形式:也有其它的两种形式:s
9、tore_true 和和 store_false,用于处理带命令行参数,用于处理带命令行参数后面不带值的情况。如后面不带值的情况。如-v,-q 等命令行参数:等命令行参数:parser.add_option(-v,action=store_true,dest=verbose)parser.add_option(-q,action=store_false,dest=verbose)这样的话,当解析到这样的话,当解析到-v,options.verbose 将被赋予将被赋予 True 值,反之,解析到值,反之,解析到-q,会被赋予会被赋予 False 值。值。其它的其它的 actions 值还有:值
10、还有:store_const、append、count、callback。默认值默认值 parse_args()方法提供了一个方法提供了一个 default 参数用于设置默认值。如:参数用于设置默认值。如:parser.add_option(-f,-file,action=store,dest=filename,default=foo.txt)parser.add_option(-v,action=store_true,dest=verbose,default=True)又或者使用又或者使用 set_defaults():parser.set_defaults(filename=foo.txt
11、,verbose=True)parser.add_option(.)(options,args)=parser.parse_args()生成程序帮助生成程序帮助 optparse 另一个方便的功能是自动生成程序的帮另一个方便的功能是自动生成程序的帮助信息。你只需要为助信息。你只需要为 add_option()方法的方法的 help 参数指定帮助信息文本:参数指定帮助信息文本:usage=usage:%prog options arg1 arg2 parser=OptionParser(usage=usage)parser.add_option(-v,-verbose,action=store_
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- python 处理 命令行 参数
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内