Python解析命令列引數
阿新 • • 發佈:2018-12-17
使用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 inopts: 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中,沒有短橫線。