使用getopt库
该库是从linux上C语言函数getopt演化而来的。
能够处理基本的-o、–output之类的短选项和长选项。
以下是一个基本的使用方式:
import getopt
shortargs = 'r:c:o:h'
longargs = ["root=", "config=", "output=", "help"]
try:
opts, args = getopt.getopt(sys.argv[1:], shorargs, longargs)
except:
print "invalid param"
print Usage()
for o in opts:
print o
print args
其中,shortargs定义了所有短选项,每一个选系那个后面如果有:号表示该参数后面必须有参数。
longargs定义了所有长选项,如果每个选项后面有 = 号,则说明该选项后面必须要跟参数
对于以上脚本,运行结果:
python test.py -r aa -c bb –output cc –help xx yy zz
输出:
('-r', 'aa')
('-c', 'bb')
('--output', 'cc')
('--help', '')
['xx', 'yy', 'zz']
其中opts里面存放了所有的选项,后面跟着的参数则放到的args里面。由于–help没有参数,因此xx被放到了args里面。
参数处理
for o, a in opts:
project_root = a
if o in ('-c', '--config'):
print a
root_folder = a
if o in ('-h', '--help'):
Usage()
sys.exit(0)