一尘不染

非ASCII字符的SyntaxError

python

我正在尝试解析包含某些非ASCII字符的xml,

代码如下

from lxml import etree
from lxml import objectify
content = u'<?xml version="1.0" encoding="utf-8"?><div>Order date                            : 05/08/2013 12:24:28</div>'
mail.replace('\xa0',' ')
xml = etree.fromstring(mail)

但它在行“ content = …”上显示了错误,例如

syntaxError: Non-ASCII character '\xc2' in file /home/projects/ztest/responce.py on line 3, 
but no encoding declared; see http://www.python.org/peps/pep-0263.html for details

在终端中它正在工作,但是在Eclipse IDE上运行时却给我一个错误。

不知道该如何克服。


阅读 189

收藏
2020-12-20

共1个答案

一尘不染

您应该定义源代码编码,并将其添加到脚本顶部:

# -*- coding: utf-8 -*-

它在控制台和IDE中工作不同的原因可能是由于设置了不同的默认编码。您可以通过运行以下命令进行检查:

import sys
print sys.getdefaultencoding()
2020-12-20