Canopy UnicodeEncodeError:'ascii'编解码器无法对位置31-32中的字符进行编码:序数不在范围内(128)

时间:2013-10-22 20:37:15

标签: python utf-8 ascii canopy rdflib

我看到其他问题的标题相同,但他们没有回答我正在寻找的问题。 我在我的macbook OS X(山狮)中有本机python 2.7.2,并且使用包RDFlib没有问题。几天前,我安装了Canopy,这是一个不错的套件,并尝试运行相同的代码解析http://dbpedia.org中的RDF数据并仅从中提取文字。由于相同的代码在纯python中工作,我推断它可能是Canopy的东西。有谁知道如何解决这个问题?

以下是代码:

import rdflib
graph = rdflib.Graph()
graph.parse("http://dbpedia.org/resource/Johann_Sebastian_Bach")
output = []
for s, p, o in graph:
    if type(o) == rdflib.term.Literal:
        if o.language=='en' or o.language=='' :
            output.append(o.toPython()) #creating file

for t in output:
    print t

1 个答案:

答案 0 :(得分:1)

起初我能够重现你的错误,然后错误消失了(即使启动干净)。我怀疑今天清理过的坏数据。我建议你尝试一下:除了你的循环内部,当它发生时捕获并处理UnicodeEncodeError。