Форум сайта python.su
0
Привет всем!
Пользуюсь Python 3.4 (Win32)
Я новичок, и, как ни странно, столкнулся с проблемой.
Вопрос состоит в следующем, мне необходимо записать в файл .txt значение Сигмы.. (естественно в греческом алфавите)
Код ниже:
greek = (chr(code) for code in range(945, 970))
with open('Labels.txt', ‘w’) as f:
for item in greek:
f.write(“{}\n”.format(item))
Выдает ошибку:
Traceback (most recent call last):
File “C:\…\Python\trying.py”, line 5, in <module>
f.write(“{}\n”.format(item))
File “D:\Program Files\Python34\lib\encodings\cp1251.py”, line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)
UnicodeEncodeError: ‘charmap’ codec can't encode character ‘\u03b1’ in position 0: character maps to <undefined>
Подскажите, что это может быть, как-то в интернете мало инф по этому поводу.
Спасибо!
Отредактировано Face (Май 25, 2019 15:20:54)
Офлайн
У тебя пытается писать в кодировке 1251 (кириллица), а нужно UTF-8:
with open('work.txt', "w", encoding='utf8') as f:
Офлайн
0
Спасибо, большое
Тоже думал, что в этом проблема, только писал через точку:
sigma = greek[19].encode('utf-8')
Отредактировано Face (Май 25, 2019 16:21:08)
Офлайн
0
Что не верно в этом коде?
это так показывает мне греческий алфавит.
greek = [chr(code) for code in range(945, 970)] with open('Greeks.txt', 'w', encoding='utf8') as f: for item in greek: f.write("{}\n".format(item)) Sigma = str(open('Greeks.txt', 'r').readlines()) print(Sigma)
Офлайн
72
greek = [chr(code) for code in range(945, 970)] with open('Greeks.txt', 'w', encoding='utf8') as f: for item in greek: f.write("{}\n".format(item)) with open('Greeks.txt', 'r', encoding='utf8') as r: print(r.read())
Офлайн
0
Спасибо! Все работает
Офлайн