天天看点

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

第一种是利用sys.argv模块

import sys
print sys.argv   输出整个命令行,以list的格式,所以有时候可以通过判断这个list的长度来判断是否有参数值输入。
print sys.argv[0]
print sys.argv[1]
print sys.argv[2]      

上面这些都是后面的参数值了,在函数主体内可以获取这些值或者判断这些值来做出响应,比如写一个help函数,如果判断=='help',则可以输出help信息

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

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

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

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

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

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

from optparse import OptionParser

parse = 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字典的使用方法。

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