1 Python命令行参数(脚本神器)

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

 

posted @ 2019-08-20 22:15  好萌一把刀  阅读(281)  评论(0编辑  收藏  举报