Форум сайта python.su
a = Строка кириллицей
print a - печатает текст
f.write(a) - шестнадцатиричные коды
Какое нужно преобразование, чтобы получить читаемый текстовый файл вместо кодов?
Офлайн
вы или текстовый файл неправильно открываете
может редактор не знает кодировку
или неправильно открываете файл для записи
скиньте файл с шестнадцатеричными кодами
и код
и напишите какая версия пайтона и ос
Офлайн
NickYorkНикакого. В том средстве которым файл смотрите выставьте правильную кодировку содержимого.
Какое нужно преобразование
#!/usr/bin/env python # -*- coding: utf-8-*-
a = u"Строка кириллицей"
f.write(a.encode("utf-8"))
import codecs f=codecs.open("...","w",encoding="utf-8") f.write(a)
Отредактировано doza_and (Май 17, 2015 23:22:09)
Офлайн
Только сейчас другому челу объяснял. :)
под виндой с русской локалью:
#!/usr/bin/env python # -*- coding: utf-8 -*- import codecs a="русское" with open("aa.dat","w") as f: f.write(a)
#!/usr/bin/env python # -*- coding: utf-8 -*- import codecs a=u"русское" with open("aa.dat","w") as f: f.write(a) Traceback (most recent call last): File "C:\PROJECTS\egor_petrov\mcu_new\aaa\a.py", line 7, in <module> f.write(a) UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-6: ordinal not in range(128)
#!/usr/bin/env python # -*- coding: utf-8 -*- import codecs a=u"русское" with codecs.open("aa.dat","w",encoding="utf-8") as f: f.write(a)
Отредактировано doza_and (Май 17, 2015 23:31:13)
Офлайн
Python 2.7 Windows/Xp
В данном коде s - вложенные списки с текстами
В файл ничего не пишется, а печать через lsprint() (процедура распечатки списка строк через print)
на экран проходит нормально
############################
# main module
import a5
s=a5.main()
f=open('cpmod/rapt/ex.txt','w')
for i in range(len(s)):
f.write(s)
f.close
a5.lsprint (s)
Офлайн
В программе ничего кириллицей не пишу, кроме констант, кодировка одинаковая
а программа предназначена для анализа русских текстов.
Офлайн
for i in range(len(s)): f.write(s)
Офлайн
Там код был посложнее. Почему-то индексы пропали.
Спасибо за советы. Буду разбираться дальше.
Офлайн
import codecs file = codecs.open('D:/filename.txt', 'w', 'utf-8') file.write('Привет') file.close()
Офлайн