资源描述:
《python命令行参数分割方法getopt.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
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-CfS0imp
3、ortgetopt,sys51Testing软件测试网^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. #
4、 print help information and 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:]过滤掉
5、第一个参数(它是执行脚本的名字,不应算作参数的一部分)。51Testing软件测试网D0lK`u3.使用短格式分析串"ho:"。当一个选项只是表示开关状态时,即后面不带附加参数时,在分析串中写入选项字符。当选项后面是带一个附加参数时,在分析串中写入选项字符同时后面加一个":"号。所以"ho:"就表示"h"是一个开关选项;"o:"则表示后面应该带一个参数。51Testing软件测试网$wfy-B*y4.使用长格式分析串列表:["help","output="]。长格式串也可以有开关状态,即后面不跟"="号。如果跟一个等号则表示后面还应有
6、一个参数。这个长格式表示"help"是一个开关选项;"output="则表示后面应该带一个参数。51Testing软件测试网l/xjp)d0I}[5.调用getopt函数。函数返回两个列表:opts和args。opts为分析出的格式信息。args为不属于格式信息的剩余的命令行参数。opts是一个两元组的列表。每个元素为:(选项串,附加参数)。如果没有附加参数则为空串''。51Testing软件测试网sX0s0bUqL6.整个过程使用异常来包含,这样当分析出错时,就可以打印出使用信息来通知用户如何使用这个程序。51Testing软
7、件测试网'B3N6QCwF1aI's%G:g!
8、6Y#Sx0如上面解释的一个命令行例子为:'Mww.YT1w7tx0'-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[9
9、w6l;h/D2z(Q51Testing软件测试网{V&Kw6JaA)g-RC-T而args则为:z"n:?CQ,[)l,e0['file1','file2']51Testing软件测试网7CF7behzxG{第三步主要是对分析出的参数进行判断是否存在,然后再进一步处理。主要的处理模式为:51Testing软件测试网kQDL)nfK0Y+hB(qm/TE.P!}/DW0Python代码1.for o, a in opts: 2. if o in ("-h", "--help"): 3.
10、 usage() 4. sys.exit() 5. if o in ("-o", "--output"