各种基于Linux上的语言都会有 getopt 模块,它的功能是 获取执行命令行时附带的参数命令行附带的参数可以使用 短格式 (-) 和 长格式(--) ,比如:# ./check_tomcat.py -u www.baidu.com -p /status -i 8080# ./check_tomcat.py --url=www.baidu.com --path=/status --port=8080 这两个命令是相同的,只是分别使用 短格式 和 长格式下面的代码:try:options,args = getopt.getopt(sys.argv[1:],"hu:p:i:",["help","url=","path=","port="])except getopt.GetoptError:sys.exit()for name,value in options:if name in ("-h","--help"):usage()if name in ("-u","--url"):url = valueif name in ("-p","--path"):path = valueif name in ("-i","--port"):port = value分析下options,args = getopt.getopt(sys.argv[1:],"hu:p:i:",["help","url=","path=","port="])这行语句“hu:p:i:” 短格式 --- h 后面没有冒号:表示后面不带参数,u: 和 p:和 i:后面有冒号表示后面需要参数["help","url=","path=","port="]长格式 --- help后面没有等号=,表示后面不带参数,其他三个有=,表示后面需要参数返回值 options 是个包含元祖的列表,每个元祖是分析出来的格式信息,比如 ('-i','8080') ; args 是个列表,包含不属于格式信息的剩余的命令行参数 。


