Найти - Пользователи
Полная версия: чтение файла побайтно
Начало » Python для новичков » чтение файла побайтно
1 2
helm2004
Доброго времени суток!
Есть файл размером с 1.5 гига. Так вот мне нужно чтоб его считать побайтно, а не весь сразу(для того чтоб памяти много не жрал). В книгах таких примеров не видел. Есть такая ф-ция f.read(1) - но как заставить её работать в цикле? Спасибо за внимание
Ferroman
Есть такая ф-ция f.read(1) - но как заставить её работать в цикле?
Ну, делаете цикл и вызываете её в цикле.
helm2004
А как узнать сколько в файле байт?
helm2004
Всё, решил с помощью лома и какой то матери:
import os,stat
st=os.stat(“1.txt”)
print type(st)
f=open(“1.txt”,“r”)
i=0
while i<st:
if (f.read(2)==“va”):
print “Нашёл!!!”
i+=1
f.close()


Может кто оптимизацию подскажет - буду только признателен!
igor.kaist
import os
print os.stat(FILENAME)[6]
А зачем while использовать, если можно проще:
for x in xrange(filesize):
#do something
helm2004
igor.kaist
спасибо!!!
helm2004
Я вообще считаю, что пути оптимизации нет придела. Даже 2*2 можно оптимизировать.
Ferroman
А как узнать сколько в файле байт?
Я бы крутил, пока бы на EOF не наткнулся.
helm2004
Ferroman
Я бы крутил, пока бы на EOF не наткнулся.
Подскажите, плизь!
ZAN
>>> f = open('f')
>>> s = f.read(1)
>>> while s:
... print s
... s = f.read(1)
...
H
e
l
l
o

W
o
r
l
d
!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB