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) 元组的列表。 第二个是参数列表,包含那些没有 - 或 -- 的参数。