проблема с cp1251.py

всем здраствуйте, писал скрипт который должен был взаимодействовать в текстовым файлом, искать заданное пользователем значение и выводить все сходства

Код:

search = input("Поиск значения:")
f = open('test.txt')
result = f.read()
f.close()
c = text.count(search)
while c > 0:
    print(search)
    c = 1

Ошибка:

File "C:\python\lib\encodings\cp1251.py", line 23, in decode                                                                                                                      
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]                                                                                                               
UnicodeDecodeError: 'charmap' codec can't decode byte 0x98 in position 114: character maps to <undefined>

Ответы (1 шт):

Автор решения: Tolomika

Используй для работы с файлами контекстный менеджер. Ошибка заключается в том, что при вызове open ты не указываешь что за кодировка, поэтому выходит ошибка. Также лучше использовать конструкцию with, чтобы не писать f.close() (with делает это сам)

Исправленный код:

search = input("Поиск значения:")
with open('test.txt', 'r', encoding='utf-8') as f:
    result = f.read()
c = result.count(search)
while c > 0:
    print(search)
    c = 1
→ Ссылка