如何阅读 Python 中的不纯文本?

How to read impure text in Python?

Python 对其文本编解码器非常挑剔。不幸的是,任何事情都可能而且将会发生在文本中,外来词和线路噪音就是主要的例子。当发生这种情况时,我不能让我的生产系统显示错误并停止。什么是好的故障保护方法?有没有我可以使用的方法或库,例如,简单地忽略编解码器无法识别的任何内容?

您可以使用 tryexcept:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

s='eëeéeę'

try:
    a=s.decode('ascii')
except UnicodeDecodeError:
    # handle the error appropriately...
    # this is just an example:
    a='cant decode "s"'   

可以指定codecs.open. It defaults to 'strict' which throws exceptions, but 'ignore' and 'replace' are some other optionserrors参数。