python库之getopt

来源:互联网 发布:window10 安装ubuntu 编辑:程序博客网 时间:2024/06/13 11:54

getopt模块是解析和处理在sys.argv中的命令行参数的。

函数getopt.getopt(args, shortopts, longopts = [])

【参数】:args 一般是sys.argv[1:]

sys.argv 是用来获取命令行参数的
`sys.argv[0]获取的是代码文件名
例如:
test.py:

import sysprint sys.argv[0]

运行命令
 python test.py -l -t
输出:
 test.py
  所以args参数取argv[1:],得到文件名后面的所有参数。

【参数】:shortopts:短格式,即类似:-h, -t, -v等命令参数,是一个字符串
【参数】:longopts:长格式,即类似:–help, –version等命令参数,是一个字符串列表
【返回值】:返回值包括两个元素,第一个是一个二元组(option, value)的列表,第二个是一个列表,包含输入的命令行中,没有’-‘或者’–’的参数
例如:
test.py:

import sysimport getoptdef usage():    print "Help:"    print "-h --help       -Help"    print "-i --ip         -input ip"    print "-p --port       -input port"try:    options, args = getopt.getopt(sys.argv[1:], "hi:p:", ["help", "ip=", "port="])except getopt.GetoptError as err:    print str(err)    usage()    sys.exit()for option, value in options:    if option in ("-h", "--help"):        usage()    if option in ("-i", "--ip"):        print "ip is: %s" % value    if option in ("-p", "--port"):        print "port is: %s" % value

打开cmd或者终端,输入命令:
这里写图片描述
解释
短格式:"hi:p:" h后面没有冒号,表示后面不带参数,p和i后面带冒号,表示后面需要参数
长格式: `[“help”, “ip=”, “port=”] help不带等号,表示后面不带参数,ip和port后面带等号,表示后面需要参数。

0 0