args.value = values.get(args.values)
None dict (, ).
type argparse:
values = { "on": True, "off": False, "switch": None }
def convertvalues(value):
return values.get(value)
parser.add_argument('-v','--value',type=convertvalues)
"" , , . :
def convertvalues(value):
return values.get(value,value)
parser.add_argument('-v','--value',type=convertvalues,
choices=[True,False,None],
default=None)
convertvalues , 'on', 'off', 'switch' None , - (, 'bla'). "bla" , .
"" , argparse. , docs:
class DictAction(argparse.Action):
def __call__(self, parser, namespace, values, option_string=None):
value_dict = { "on": True, "off": False, "switch": None }
setattr(namespace, self.dest, value_dict.get(values))
parser.add_argument('-v','--value',action=DictAction,
choices=['on','off','switch'],
default=None)
, , Acion init, hardcoded value_dict.