1

Unicode エラーが発生した場合、問題の原因を突き止めるのが難しい場合があります。この文字列はどこから来たのですか?

文字列 (またはバグのある文字列の一部) を表示する方法はありますか?

4

1 に答える 1

4

次のスニペットを使用できます。

try:
    html = html.decode(encoding)
except UnicodeError as exc:
    re_raise_unicode_error_with_hint(exc)

def re_raise_unicode_error_with_hint(exc):
    hint = exc.object[max(exc.start - 15, 0):min(exc.end + 15, len(exc.object))]
    raise exc.__class__(exc.encoding, exc.object, exc.start, exc.end, 'hint: %r' % hint)

このようにして、文字列の Unicode エラーの前に 15 文字、後に 15 文字が表示されます。

于 2013-09-16T08:19:52.337 に答える