我有以下脚本:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-s",metavar="",help="some help",type=int,default=0.5)
print parser.parse_args()
第3行,我希望类型为int
和string
。因此,用户可以使用其中一个值[0, 0.1, 0.2, 0.3, 0.5, 'best']
。
我该怎么做?
答案 0 :(得分:2)
type
参数可以被视为转换函数而不是数据类型。
所以你可以添加这样的转换器:
def int_or_str(value):
try:
return int(value)
except:
return value
并传递为type
。