Проблема чтения Python из файла - PullRequest
0 голосов
/ 19 марта 2019

когда я читаю так, некоторые файлы

list_of_files = glob.glob('./*.txt') # create the list of files
for file_name in list_of_files:
    FI = open(file_name, 'r', encoding='cp1252')

Ошибка:

UnicodeDecodeError: кодек 'charmap' не может декодировать байт 0x9d в позиции 1260: символ отображается на

Когда я переключаюсь на это

list_of_files = glob.glob('./*.txt') # create the list of files
for file_name in list_of_files:
    FI = open(file_name, 'r', encoding="utf-8")

Ошибка:

UnicodeDecodeError: кодек «utf-8» не может декодировать байт 0x92 в позиции 1459: недопустимый начальный байт

И я прочитал, что я должен открыть это как двоичный файл. Но я не уверен, как это сделать. Вот моя функция:

def readingAndAddToList():
    list_of_files = glob.glob('./*.txt') # create the list of files
    for file_name in list_of_files:
        FI = open(file_name, 'r', encoding="utf-8")
        stext = textProcessing(FI.read())# split returns a list of words delimited by sequences of whitespace (including tabs, newlines, etc, like re's \s)
        secondaryWord_list = stext.split()
        word_list.extend(secondaryWord_list) # Add words to main list
        print("Lungimea fisierului ",FI.name," este de", len(secondaryWord_list), "caractere")
        sortingAndNumberOfApparitions(secondaryWord_list)
        FI.close()

Только начало моих функций имеет значение, потому что я получаю ошибку в части чтения

1 Ответ

0 голосов
/ 19 марта 2019

Если вы находитесь в Windows, откройте файл в блокноте и сохраните его в нужной кодировке. В Linux сделайте то же самое в текстовом редакторе. надеюсь, что ваша программа работает.

...