概述
Getopt模块的getopt() 函数用于处理入参选项。
入参选项通过 sys.argv 获取。
sys.argv[0] 是程序名称,sys.argv[1:] 是参数列表。
第一个参数为入参项,即命令行选项和对应参数的键值对,sys.argv[1:]
第二个参数,短格式分析串,带:表示后面带参数,不带:表示是一个开关选项。例如"ho:"就表示"h"是一个开关选项;"o:“则表示后面应该带一个参数。即入参选项可以简化
第三个参数,长格式分析串列表,例如[“help”, “output=”]。长格式串也可以有开关状态,即后面不跟”="号。如果跟一个等号则表示后面还应有一个参数。这个长格式表示"help"是一个开关选项;"output="则表示后面应该带一个参数。
函数返回两个列表:opts和args。opts为分析出的格式信息。args为不属于格式信息的剩余的命令行参数。
# coding=UTF-8
import sys
import os
import getopt
#入口参数处理
def usage():
usage = """
this is help
"""
print(usage)
return
def process_option():
args_dict = {"get_ini": False,
"aaa": False,
"bbb": "",
}
try:
opts, args = getopt.getopt(sys.argv[1:], 'hgab:',
["help",
"get_ini",
"aaa",
"bbb=",])#这里有=
except Exception as parse_error:
print("ERROR", repr(parse_error))
sys.exit(1)
print(opts, args)
for opt,arg in opts:
if opt in ["--get_ini", "-g"]:
args_dict["get_ini"] = True
elif opt in ["--aaa", "-a"]:
args_dict["aaa"] = True
elif opt in ["--bbb", "-b"]:#这里没有=
args_dict["bbb"] = arg
elif opt in ["--help", "-h"]:
usage()
sys.exit(0)
else:
print("Invalid parameters: %s" % opt)
sys.exit(1)
return args_dict
if __name__ == '__main__':
args_dict = process_option()
print(args_dict)
python Get_opt.py -g -a --bbb 10
结果:
([(’-g’, ‘’), (’-a’, ‘’), (’–bbb’, ‘10’)], [])
{‘aaa’: True, ‘get_ini’: True, ‘bbb’: ‘10’}
python Get_opt.py -g -a -b 10
结果:
([(’-g’, ‘’), (’-a’, ‘’), (’-b’, ‘10’)], [])
{‘aaa’: True, ‘get_ini’: True, ‘bbb’: ‘10’}
最后
以上就是调皮大地为你收集整理的Python getopt 模块处理入参选项的全部内容,希望文章能够帮你解决Python getopt 模块处理入参选项所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复