我是靠谱客的博主 调皮大地,最近开发中收集的这篇文章主要介绍Python getopt 模块处理入参选项,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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 模块处理入参选项所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(47)

评论列表共有 0 条评论

立即
投稿
返回
顶部