如何捕获非ASCII字符错误?

时间:2018-06-01 23:10:27

标签: python python-2.7 character-encoding

我正在尝试使用以下代码捕获此错误SyntaxError: Non-ASCII character '\xc3'

try:
    address = 'ÁR11E'
except:
    print 'hello'

我永远无法得到"你好"打印。该错误被视为未处理并停止该过程。如何捕获并处理此类错误?

我现在只需要解决错误而不解决它。

3 个答案:

答案 0 :(得分:4)

默认情况下,Python 2源代码应仅包含ASCII字符,因此这是语法错误。你无法捕捉它,因为它使整个文件无效。

您可以做两件事:

# coding: utf-8

  • 或编码非ascii字符

address = '\xC3\x81R11E' # this would be utf-8

address = '\xC3\x81R11E'.decode('utf-8') # this would be unicode

address = u'\N{LATIN CAPITAL LETTER A WITH ACUTE}R11E'

address = u'\u0381R11E'

答案 1 :(得分:1)

您无法在Python中捕获语法错误(除非它是从eval引发的,这不是您的情况)

答案 2 :(得分:1)

第1行(linux)

!usr / bin / env python

第二行(linux)

编码:utf-8