python脚本传入的参数储存在sys的argv中
如果不需要处理命令行选项,则可以简单的通过对argv遍历来获取命令行参数,如
import sys
for i in range(1,len(sys.argv)):
print sys.argv[i]
如果需要处理命令行选项,需要用到getopt,如下所示
import sys, getopt
opt, args = getopt.getopt(sys.argv[1:],"hf:p:",["file=","path=","help"]):
for op,value in opts:
if op == "-f" or op == "--file":
print "filename :" + value
elif op == "-p" or op == "--path":
print "path :" + value
elif op == "-h" or op == "--help":
print "Usage:test"
getopt参数和作用,假设脚本名称为 a.py
第一个参数:是参数列表,sys.argv[0]为脚本名称,所以下标从1开始
第二个参数:表示可选参数,非必须。如本例子中为"hf:p:",则表示当前脚本可选选项为 -h,-f,-p 如果选项后面带冒号,表示选项后面需要有附加参数 如 ./a.py -h ./a.py -f arg, 不能为./a.py -f
第三个参数:表示可选的长选项参数,非必须。如本例子中为可以为["file=","path=","help"],则运行脚本时可以如下
./a.py --file=a ./a.py --help
函数作用:返回 opts和args两个列表。opts为分析出的格式信息,是一个由一系列(选项,附加参数)形式组成的列表,如果没有附加参数则为空