0

特定のデータの検証に取り組んでいます。この場合、文字列 'five' は 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

ここで何が間違っていますか?渡され、カスタム検証に失敗した値の型を出力したいと思います。

4

1 に答える 1

1

typeどこかでオーバーライドしていませんか?

また、これは型チェックのための Pythonic の方法ではありません。代わりに次を使用します。

try:
    my_int = int(value)
except (ValueError, TypeError) as e:
    # raise something
于 2013-04-25T23:16:06.363 に答える