一、简介
python中的getopt模块是专门用来处理参数的。使用前需要先导入sys、getopt。
二、函数原型
getopt(args, shortopts, longopts = [])
参数args一般是getopt(sys.argv[1:],shortopts 短格式 (-), longopts 长格式(--))
三、使用简介
eg:opts,args = getopt.getopt(sys.argv[1:],"hp:i:",['help','port=',"ip="])
opt : 是个包含元祖的列表,每个元祖是分析出来的格式信息,比如 [('-i','127.0.0.1'),('-p','80')] ;
args : 是个列表,包含那些没有‘-’或‘--’的参数,比如:['55','66']
h 后面没有冒号:表示后面不带参数
p:和 i:后面有冒号表示后面需要参数
注意::定义命令行参数时,要先定义不带'-'选项的参数,再定义带‘-’的参数
四、程序
import getopt
import sys
def usage():
print '-h help\n'
print '-i ip \n'
print '-p port \n'
def main():
if not len(sys.argv[1:]): #if len()=null run usage()
usage()
try:
opts,args = getopt.getopt(sys.argv[1:],"hp:i:",['help','port=',"ip="])
for name, value in opts:
if name in ("-h", "--help"):
usage()
elif name in ("-i", "--ip"):
print value
elif name in ("-p", "--port"):
print value
except getopt.GetoptError as err:
print err
usage()
if __name__ == '__main__':
main()
转载于:https://blog.51cto.com/12263326/2333569