Python:读入转义的Unicode字符并将它们转换成可读的tex

2024-09-26 21:51:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个RDF文件,其中大多数对象由转义的Unicode字符组成,如下所示:

...
<http://dbpedia.org/resource/Ry%C5%8Dgoku_Kokugikan> <http://www.w3.org/2000/01/rdf-schema#label> "\u4E21\u56FD\u56FD\u6280\u9928"@ja .
<http://dbpedia.org/resource/Tunisia> <http://www.w3.org/2000/01/rdf-schema#label> "\u30C1\u30E5\u30CB\u30B8\u30A2"@ja .
...

我想使用Python脚本读入这个文件,并将这些对象转换为可读文本,即对于上面的示例,我希望得到以下输出:

両国国技館
チュニジア

到目前为止,我的代码如下所示:

import codecs

for line in codecs.open("labels-en-uris_ja.nt","r","utf-8"):
    tmp = line.split(" ")
    label = tmp[2]
    label = label.split("@")[0]
    label = label.replace("\"","")
    print u"{0}".format(label)

但是,这将返回转义的Unicode字符,即

\u4E21\u56FD\u56FD\u6280\u9928
\u30C1\u30E5\u30CB\u30B8\u30A2

在代码的最后一行中使用print label可以得到完全相同的结果。但是,print u"\u4E21\u56FD\u56FD\u6280\u9928"给出了所需的输出,因此我假设读取该文件的方式有问题。什么是产生我想要的输出的正确方法


Tags: 文件对象orghttpunicode字符labelresource

热门问题