欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python库argparse中type的新奇指定方法

程序员文章站 2022-04-21 18:03:28
最近在看一些项目的源码,总是能学到好多东西。 关于arparse中type的类型指定 不止可以指定常规类型,还可以加一些自己类型判断,具体用法如下( "来源" ): ......

最近在看一些项目的源码,总是能学到好多东西。

关于arparse中type的类型指定

不止可以指定常规类型,还可以加一些自己类型判断,具体用法如下(来源):

def str2bool(v):
    """ usage:
    parser.add_argument('--pretrained', type=str2bool, nargs='?', const=true,
                        dest='pretrained', help='whether to use pretrained models.')
    """
    if v.lower() in ('yes', 'true', 't', 'y', '1'):
        return true
    elif v.lower() in ('no', 'false', 'f', 'n', '0'):
        return false
    else:
        raise argparse.argumenttypeerror('unsupported value encountered.')


if __name__ == "__main__":
    parser = argparse.argumentparser()
    parser.add_argument('--syncbn',  type=str2bool, nargs='?', default=false,
                        dest='network.syncbn', help='whether to sync bn.')