Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在rdflib命名空间中创建Unicode项时出现Unicode解码错误_Python_Rdflib - Fatal编程技术网

Python 在rdflib命名空间中创建Unicode项时出现Unicode解码错误

Python 在rdflib命名空间中创建Unicode项时出现Unicode解码错误,python,rdflib,Python,Rdflib,在rdflib命名空间中创建Unicode项时,我遇到Unicode解码错误 $ python Python 2.7.3 (default, Sep 26 2012, 21:51:14) [GCC 4.7.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from rdflib.graph import ConjunctiveGraph >>

在rdflib命名空间中创建Unicode项时,我遇到Unicode解码错误

$ python
Python 2.7.3 (default, Sep 26 2012, 21:51:14) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from rdflib.graph import ConjunctiveGraph
>>> from rdflib import Namespace, BNode, Literal, RDF, URIRef
***>>> rdfsNS = Namespace("http://www.w3.org/2000/01/rdf-schema#")
>>> item = "Petra Němcová"
>>> i = rdfsNS[item]***
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/rdflib/namespace.py", line 88, in __getitem__
    return self.term(key)
  File "/usr/local/lib/python2.7/dist-packages/rdflib/namespace.py", line 85, in term
    return URIRef(self + name)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc4 in position 7: ordinal not in range(128)
$python
Python 2.7.3(默认值,2012年9月26日,21:51:14)
[GCC 4.7.2]关于linux2
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>从rdflib.graph导入连接图
>>>从rdflib导入命名空间、BNode、Literal、RDF、URIRef
***>>>rdfsNS=名称空间(“http://www.w3.org/2000/01/rdf-schema#")
>>>item=“Petra Němcová”
>>>i=rdfsNS[项目]***
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/local/lib/python2.7/dist packages/rdflib/namespace.py”,第88行,在__
返回自我术语(键)
文件“/usr/local/lib/python2.7/dist packages/rdflib/namespace.py”,第85行,术语
返回URIRef(self+name)
UnicodeDecodeError:“ascii”编解码器无法解码位置7中的字节0xc4:序号不在范围内(128)

请帮助解决此问题。

我不知道rdflib,但当您编写时:

item = "Petra Němcová"
您正在创建普通字符串对象-请尝试使用以下方法定义unicode:

item = u"Petra Němcová"
如注释中所示-如果您已经将项设置为字符串,并且您知道其编码,请使用(如果编码为utf-8):


谢谢我正要发布一个后续问题。我没有字符串文字。我正在从文件中读取字符串。在文件中,它被写为Petra Němcová,我将其读入item变量。现在我如何从variable item创建第二个变量(前面有u)。你看到我想要的了吗?如果你正在用decode函数从文件解码字符串读到unicode,例如:line=f.readline()unicode\u line=line.decode('utf-8'),你需要知道文件的编码是什么。
item = item.decode('utf-8')