这篇文章用来简单说明sys.argv和getopt的用法
- getopt.getopt 方法
- getopt.getopt 方法用于解析命令行参数列表
- 语法格式:getopt.getopt(args, options[, long_options])
- args: 要解析的命令行参数列表
- options: 以字符串的格式定义,options后的冒号(:)表示该选项必须有附加的参数,不带冒号表示该选项不附加参数
- long_options: 以列表的格式定义,long_options 后的等号(=)表示如果设置该选项,必须有附加的参数,否则就不附加参数
- getopt.GetoptError在没有找到参数列表,或选项的需要的参数为空时会触发该异常
- sys.argv 是命令行参数列表,sys.argv[0] 表示脚本名
- sys.exit()会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代码还是会执行。捕获这个异常可以做一些额外的清理工作。0为正常退出,其他数值(1-127)为不正常,可抛异常事件供捕获
#coding=utf-8
import sys, getopt
def getArgs(argv):
try:
opts, args = getopt.getopt(argv, "hg:d")
print("opt's type => ", type(opts), opts)
print("args's type => ", type(args), args)
for opt, arg in opts:
print(opt, arg)
except getopt.GetoptError:
sys.exit(2)
getArgs(sys.argv[1:])
print(sys.argv[0])
print(sys.argv[1:])