第一种是利用sys.argv模块
import sys print 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 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字典的使用方法。