Python的argparse模块中具有混合类型的args输入的参数解析器



我有以下脚本:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-s",metavar="",help="some help",type=int,default=0.5)
print parser.parse_args()

第三行,我想要intstring的类型。因此,用户可以使用这些值中的一个[0, 0.1, 0.2, 0.3, 0.5, 'best']

我该怎么做?

type参数可以被视为转换函数,而不是数据类型。

所以你可以添加这样的转换器:

def int_or_str(value):
    try:
        return int(value)
    except:
        return value

并作为CCD_ 5通过。

最新更新