python 命令行参数分割方法 getopt

python 命令行参数分割方法 getopt

ID:14271161

大小:43.50 KB

页数:4页

时间:2018-07-27

python 命令行参数分割方法 getopt_第1页
python 命令行参数分割方法 getopt_第2页
python 命令行参数分割方法 getopt_第3页
python 命令行参数分割方法 getopt_第4页
资源描述:

《python 命令行参数分割方法 getopt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、os下有个getopt的方法,很好用。每次可以得到一个三元tupple,其中第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。51Testing软件测试网R#QQU/tsy/Rn1.导入getopt,sys模块51Testing软件测试网5d"X$SO!t#wp2.分析命令行参数51Testing软件测试网8mX

2、Sj3q7Il3.处理结果51Testing软件测试网[X#s5D$u$xjL7j51Testing软件测试网#Zn@?V9N@第一步很简单,只需要:,lH-CfS0importgetopt,sys

3、51Testing软件测试网^4~ho4h*]So51Testing软件测试网J;?3p8v%W[/^第二步处理方法如下(以Python手册上的例子为例):BXGP;Yq(Qv5P$n!v051Testing软件测试网z!Z4]:YtsRLPython代码1.try:  2.    opts, args = getopt.getopt(sys.argv[1:], "ho:", ["help", "output="])  3.except getopt.GetoptError:  4.    # print help information an

4、d exit:  try:opts,args=getopt.getopt(sys.argv[1:],"ho:",["help","output="])exceptgetopt.GetoptError:#printhelpinformationandexit: 5{(RREEF01.处理所使用的函数叫getopt(),因为是直接使用import导入的getopt模块,所以要加上限定getopt才可以。51Testing软件测试网}z&^9?1@[O2.使用sys.argv[1:]过滤掉第一个参数(它是执行脚本的名字,不应算作参数的一部分)。51Testing软件

5、测试网D0lK`u3.使用短格式分析串"ho:"。当一个选项只是表示开关状态时,即后面不带附加参数时,在分析串中写入选项字符。当选项后面是带一个附加参数时,在分析串中写入选项字符同时后面加一个":"号。所以"ho:"就表示"h"是一个开关选项;"o:"则表示后面应该带一个参数。51Testing软件测试网$wfy-B*y4.使用长格式分析串列表:["help","output="]。长格式串也可以有开关状态,即后面不跟"="号。如果跟一个等号则表示后面还应有一个参数。这个长格式表示"help"是一个开关选项;"output="则表示后面应该带一个参数。51Te

6、sting软件测试网l/xjp)d0I}[5.调用getopt函数。函数返回两个列表:opts和args。opts为分析出的格式信息。args为不属于格式信息的剩余的命令行参数。opts是一个两元组的列表。每个元素为:(选项串,附加参数)。如果没有附加参数则为空串''。51Testing软件测试网sX0s0bUqL6.整个过程使用异常来包含,这样当分析出错时,就可以打印出使用信息来通知用户如何使用这个程序。51Testing软件测试网'B3N6QCwF1aI's%G:g!

7、6Y#Sx0如上面解释的一个命令行例子为:'Mww.YT1w7tx

8、0'-h-ofile--help--output=outfile1file2'51Testing软件测试网#K:lG-r5c&Q;yG.SfAU_Y0R'V/X0在分析完成后,opts应该是:51Testing软件测试网N"d'wsi*(Z,y^-e[('-h',''),('-o','file'),('--help',''),('--output','out')]51Testing软件测试网I[9w6l;h/D2z(Q51Testing软件测试网{V&Kw6JaA)g-RC-T而args则为:z"n:?CQ,[)l,e0['file

9、1','file2']51Testing软件测试网7CF7behzxG{第三步主要是对分析出的参数进行判断是否存在,然后再进一步处理。主要的处理模式为:51Testing软件测试网kQDL)nfK0Y+hB(qm/TE.P!}/DW0Python代码1.for o, a in opts:  2.    if o in ("-h", "--help"):  3.        usage()  4.        sys.exit()  5.    if o in ("-o", "--output"

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。