python获取命令行参数的几种方法总结

来源:互联网 发布:陕师大网络教育 编辑:程序博客网 时间:2024/05/16 12:21

第一种是利用sys.argv模块


import sysprint sys.argv   输出整个命令行,以list的格式,所以有时候可以通过判断这个list的长度来判断是否有参数值输入。print sys.argv[0]print sys.argv[1]print sys.argv[2]
上面这些都是后面的参数值了,在函数主体内可以获取这些值或者判断这些值来做出响应,比如写一个help函数,如果判断=='help',则可以输出help信息


上面的方法比较简单,也很实用


第二种方法是利用OptionParser模块,这个功能比较强大。


我个人理解这个模块的相比较sys模块,就是对输入参数有了一个细致的操作处理,对于用户要输入的参数通过一个简单的标示来进行分类各自处理,也可以在一条命令行中对于不同的参数都有一个不同的处理,sys肯定会有顺序要求,因为他只能通过列表的顺序来获取参数

比如下面这个,我可以输入i 或者p , 都会对应一个变量来得到它, filename = i后面的参数值,putname = p后面参数值,这样在函数内部就可以调用了


下面这段代码是一个简单的只有2个选项的代码,如有需要可以再加,但是简单的结构有了,以后的代码可以直接用dest是你的函数里所需要的变量名,当你的命令行里有i,那么就会来赋值你的filename=你输入的在i后面的参数。

from optparse import OptionParserparse = OptionParser()parse.add_option('-i','--inputfile',dest='filename',help='please input your file')parse.add_option('-p','--putfile',dest='putname',help='please put your name')#(options,argvs) = parse.parse_args()options = parse.parse_args()[0]    这里参数值对应的参数名存储在这个options字典里print options

当输入-h 时也可以直接打印出你里面写的帮助信息,很好用,我们可以看到这里的filename=sun, putname=jin,就按照我们的意愿赋值成功了,脚本里就可以直接调用filename和putname来使用了

用options.filename和filename.putname字典的使用方法。







原创粉丝点击