1. 程式人生 > >Python解析命令列引數

Python解析命令列引數

使用Python編寫應用程式或是指令碼的時候,經常會用到命令列引數。C語言中有庫函式getopt解析短命令列引數,使用getopt_long解析短命令和長命令的組合。

Python使用getopt模組,同時解析短命令和長命令。看具體使用例子

#!/usr/bin/python

import sys
import getopt

if __name__ == '__main__':
    try:
        opts, args = getopt.getopt(sys.argv[1:], 'at:')
        print opts
        for opt, value in
opts: if opt=='-a': print 'get option: %s' % (opt) elif opt=='-t': print 'get option %s and argstring %s' % (opt, value) else: print 'Invalid option: %s' % opt except getopt.GetoptError as e: print 'getopt error:
', print e

getopt方法根據我們提供的短命令和長命令字串,解析命令列引數, 如果我們給定的命令列引數不在我們所給的命令集合中,丟擲GetoptError異常。

在解析得到的(opt, value)對中, 引數選項是帶有短橫線的, 如'-a', '-t',但是在C語言getopt中,沒有短橫線。