Как заменить «æ», «ø» и «å» в тексте без ошибок: кодек «ascii» не может декодировать байт 0xc3 в позиции 0 - PullRequest
0 голосов
/ 28 мая 2019

Я создаю программу, которая должна открывать текстовый файл, а затем заменить буквы «æ, ø и å» (датский текст) на «ae, oe, aa».Мне нужно открыть программу и запустить ее через терминал Mac.Я попытался использовать функцию replace () и попытался написать:

# -*- coding: utf-8 -*- 
#!/usr/bin/env python

в начале файла.

Но я продолжаю получать сообщение об ошибке: файл "replace.py", строка 20, в replace_nonascii word = word.replace ('å', 'aa')

UnicodeDecodeError: кодек "ascii"невозможно декодировать байт 0xc3 в позиции 0: порядковый номер не в диапазоне (128)

какие-либо предложения?Я пытался найти это в течение нескольких дней, я понятия не имею, как это исправить.

Вот моя программа:

filepath = input('insert path for text')

with codecs.open(filepath, 'r', encoding = 'utf8') as file_object:
    filename_cont['text1'] = file_object.read()


def replace_nonascii(word):
    word = word.lower()
    word = word.replace('å', 'aa')
    word = word.replace('æ', 'ae')
    word = word.strip('/-.,?!')
    print(word)

for text in filename_cont:
    newtext = filename_cont[text]
    for word in newtext.split():
        replace_nonascii(word)
...