1 # !/usr/bin/env python3.7 2 # -*- coding:utf-8 -*- 3 # Author: Lancer 2019-09-02 10:07:21 4 5 import sys,getopt 6 7 def usage(): 8 print ( " usage call " ) 9 10 def main(): 11 try : 12 opts, args = getopt.getopt(sys.argv[1:], " ho:v " , [ " help " , " output= " ]) 13 print (sys.argv[1 :]) 14 except getopt.GetoptError as err: 15 print (str(err)) # will print something like "option -a not recognized" 16 usage() 17 sys.exit(2 ) 18 output = None 19 verbose = False 20 for o, a in opts: 21 if o == " -v " : 22 verbose = True 23 elif o in ( " -h " , " --help " ): 24 usage() 25 sys.exit() 26 elif o in ( " -o " , " --output " ): 27 output = a 28 else : 29 assert False, " unhandled option " 30 31 if __name__ == " __main__ " : 32 main()
getopt.getopt 方法用于解析命令行参数列表,语法格式如下:
getopt
.
getopt
(
args
,
options
[,
long_options
])
方法参数说明:
-
args : 要解析的命令行参数列表。
-
options : 以字符串的格式定义, options 后的冒号 : 表示如果设置该选项,必须有附加的参数,否则就不附加参数。
-
long_options : 以列表的格式定义, long_options 后的等号 = 表示该选项必须有附加的参数,不带冒号表示该选项不附加参数。
-
该方法返回值由两个元素组成: 第一个是 (option, value) 元组的列表。 第二个是参数列表,包含那些没有 - 或 -- 的参数。