Polskie znaki z pliku

0

Chcę pobrać z pliku polskie znaki które potem mam zakodować metodą Huffmana. Program działa mi w 100% dobrze tylko próbując pobrać z pliku polskie znaki wyświetla mi się taki ERROR: UnicodeEncodeError: 'charmap' codec can't encode character '\u0107' in position 95: character maps to <undefined>
Co mogę robić żeby program działał poprawnie? Załączam kod którym pobieram z pliku i następną funkcję w której pojawia się error

# -*- coding: utf-8 -*-
"""
"""
import copy
import codecs
def czytaj_plik():
    plik = codecs.open('ala.txt', 'r', encoding = "utf -8")
    tekst = plik.read()
#    print(tekst)
    lista_znakow = list(tekst)
    return lista_znakow


def zlicz(lista):
    tmp_czestosc = {}
    for elem in lista:
        if elem in tmp_czestosc:
            tmp_czestosc[elem] += 1
        else:
            tmp_czestosc[elem] = 1
    czestosc = []
    for znak, ilosc in tmp_czestosc.items():
        czestosc.append((ilosc, znak))
    return czestosc
0

Mi działa bez pudła, sprawdź jakie masz kodowanie w pliku. Nie korzystasz czasem ciągle z pythona2? takowy miał problemy z znakami narodowymi (była do nich specjalna wersja stringa), dopiero w 3 to poprawili.

edit: kod dawaj w tagach dostępnych pod </>, nie trzeba będzie od nowa wcięć robić. A najlepiej z listy obok wybierz pythona, będzie kolorowany.

1 użytkowników online, w tym zalogowanych: 0, gości: 1