【发布时间】:2013-04-20 00:36:46
【问题描述】:
我正在验证某条数据,在这种情况下,字符串“5”应该无法通过某条验证,因为它需要为 5(一个 int)
print ">>>>", value
bad_type = type(value).__name__
raise TypeError("expected numeric type for {0} but got '{1}'".format(column,bad_type))
打印:
.>>>> five
...
bad_type = type(value).__name__
TypeError: 'str' object is not callable
但是我可以从命令行执行此操作:
python -c "print type('five').__name__"
打印
str
我在这里做错了什么?我想打印已通过但未通过自定义验证的值的类型。
【问题讨论】:
-
'five'是一个字符串,'5'也是。 -
看起来你在某处定义了一个变量名
type。 -
有点跑题了,如果你正在寻找一个python数据验证库,那么你可以看看voluptuous,它很小,界面设计良好,易于扩展。
标签: python string validation typeerror