所以我有一个我想使用 unicode 的爱尔兰语(盖尔语)单词的列表,以便 RDFlib 能够理解单词中某些字母上方的重音。我不知道是在单词在列表中之前还是之后使用 unicode。这是我到目前为止的代码:
文件中的示例行 =00001740 n 3 eintiteas aonán beith 003 ~ 00001930 n 0000
def process_file(self):
self.file = open("testing_line_ir.txt", "r")
return self.file
def line_for_loop(self, file):
for line in file:
self.myline = unicode(line, 'utf-8')
for line in self.myline:
............here is where other processes are ran.......
这是给出错误:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe1 in position 26: invalid continuation byte
我也试过这个:
def get_words_list(self, word_part, num_words):
self.word = word_part[3:3 + num_words:1]
self.myword = [unicode(i) for i in self.word]
return self.myword
在这种情况下,'word' 是单词列表 ['eintiteas', 'aonán', 'beith'] 我尝试使用 myword 作为编码列表,但错误与上述相同。
编辑:这是发生错误的源代码,它发生在 graph.parse 行 像 block1 和命名空间一样通过的变量只是文本行
def compose_printout(self, namespaces, block1, block2, close_rdf):
self.printout += namespaces + block1 + block2 + close_rdf
self.tabfile = StringIO(self.printout)
return self.tabfile
def serialize(self, graph, tabfile):
""" This will serialize with RDFLib """
graph.parse(tabfile, publicID=None, format="xml")
其中一些词被添加到 RDFlib 图中,所以这里的任何帮助都会很棒!