Форум сайта python.su
Здравствуйте все! У меня питон 3.0.1.
Задача такая: есть файл. Из него надо прочитать символы как utf-8.
Написал такое:
def LoadFile():
f = io.open('myfile', 'r', 16384, 'utf8')
res = f.read()
f.close()
return res
Отредактировано (Июнь 3, 2009 17:46:52)
Офлайн
Что-то напутал. Примерчик рабочий, а вот myfile наверное все же не в utf8. И почему ‘charmap’ codec? Глянь f.encoding, должен быть ‘utf8’.
>>> b'123456'
b'456'
Но наверное на самом деле нужно что-то другое.
Как файл может быть одновременно в разных кодировках? Как определить, где какая?
Как-то все сумбурно…
Офлайн
Ну да, это критерий новичка, когда он где-то увидел код, запихнул к себе, а у него не компилируется и он не знает, что с этим делать. Я пока в такой стадии с питоном. Поэтому сумбурно :-)
Я набросал пример, который иллюстрирует ситуацию более подробно:
import io
import urllib.request
def Page2File(URL, FileName):
f = io.open(FileName, 'wb')
f.write(urllib.request.urlopen(urllib.request.Request(URL)).read())
f.close()
def File2Bytes(FileName):
f = io.open('_tmp.tmp', 'rb')
try:
res = f.read()
f.close()
finally:
res = res
return res
# === Main ===============================================================
Page2File('http://otvety.google.ru/otvety/', '_tmp.tmp')
page = File2Bytes('_tmp.tmp')
page = page.decode('utf8')
print(page)
Отредактировано (Июнь 4, 2009 14:57:42)
Офлайн