optparse支持整数参数的“0b”、“0”和“0x”前缀,分别表示二进制、八进制和十六进制。我需要支持一些附加的前缀,包括二进制的“%”和十六进制的“$”。你知道吗
一种方法是修补optparse._parse_num,如下所示:
oldParseNum = optparse._parse_num
def newParseNum(val, type):
val = re.sub('^%', '0b', val)
val = re.sub('^\$', '0x', val)
return oldParseNum(val, type)
optparse._parse_num = newParseNum
虽然这确实有效,但它似乎相当脆弱。有更好的方法吗?你知道吗
您可以定义自己的选项处理程序/-回调:
处理特殊情况或扩展语法。你知道吗
查看一下documentation以确定这是否足以满足您的需要,以及是否比(猴子式)修补更好。你知道吗
相关问题 更多 >
编程相关推荐