Итак, у меня есть список некоторых ирландских слов (гэльских слов), которые я хочу использовать в unicode, чтобы RDFlib смог понять акценты над некоторыми из буквы в слове. Я не знаю, следует ли использовать юникод перед тем, как слова находятся в списке или после. Вот код, который я до сих пор:Как использовать юникод со списком или строкой в Python
образец строки в файле = 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
В этом случае слово «слово» - это список слов ['eintiteas', 'aonán', 'beith'], и я пробовал использовать g myword как закодированный список с той же ошибкой, что и выше.
EDIT: Вот исходный код, откуда происходит ошибка, это происходит на 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, поэтому любая помощь здесь будет большой!
Вашего входа данные ** не ** кодируются UTF-8. Вам нужно найти правильный кодек, используемый для ваших файлов. –