Python 的 argparse 模块中具有混合类型 args 输入的参数解析器
Argument parser with mixed type of args input in Python's argparse module
我有以下脚本:
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']
。
我该怎么做?
type
参数可视为转换函数而不是数据类型。
所以你可以像这样添加一个转换器:
def int_or_str(value):
try:
return int(value)
except:
return value
并传递为 type
.
我有以下脚本:
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']
。
我该怎么做?
type
参数可视为转换函数而不是数据类型。
所以你可以像这样添加一个转换器:
def int_or_str(value):
try:
return int(value)
except:
return value
并传递为 type
.