Я просмотрел все различные вопросы, которые уже были здесь размещены, и попробовал упомянутые решения, но просто не смог заставить мой код работать.
Я пытаюсь прочитать имена файлов в каталогах, используя python, но продолжаю сталкиваться со следующей ошибкой.
UnicodeDecodeError: кодек «utf-8» не может декодировать байт 0xe8 в позиции 907: недопустимый байт продолжения
Код
from __future__ import print_function
import sklearn.datasets
import nltk
dataset = sklearn.datasets.load_files('data/', shuffle='False')
categories = dataset.target_names
from os import listdir
from os.path import isfile, join
for c in categories:
directory_path = 'data/'+c
onlyfiles = [f for f in listdir(directory_path) if isfile(join(directory_path, f))]
print ("Level 1 Intent : ", c)
print ("---------------------------------------")
for file_name in onlyfiles:
file_path = directory_path+'/'+file_name
with open(file_path) as f:
first_line = f.readline()
print("Level 2 Intent for ", c, " : ", first_line)
stopwords = nltk.corpus.stopwords.words('english')
from nltk.stem.snowball import SnowballStemmer
stemmer = SnowballStemmer("english")
Хотя я получаю вывод имен файлов, напечатанных по мере необходимости, я сталкиваюсь с этим сообщением об ошибке.
Пример вывода
...
Level 2 Intent for Presidents : Gerald Ford
Level 1 Intent : Scientists
---------------------------------------
Level 2 Intent for Scientists : Alessandro_Volta
Level 2 Intent for Scientists : Michael_Faraday
Level 2 Intent for Scientists : James_Watt
Level 2 Intent for Scientists : Nikola_Tesla
...
Примеры имен файлов
1.clean
2.clean
S08_set3_a1.txt.clean
S08_set3_a8.txt.clean
Любые предложения на этот счет будут высоко оценены.