Normal files throw exceptions if you mix methods.
>>> f = open("words")
>>> for l in f:
... break
...
>>> f.tell()
8192L
>>> f.readline()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: Mixing iteration and read methods would lose data
BZ2Files silently do the wrong thing. (Output is a coincidence. Honest!)
>>> import bz2
>>> f = bz2.BZ2File("words.bz2")
>>> for l in f:
... break
...
>>> f.tell()
8192L
>>> f.readline()
'lose\n'
Expected behaviour is for it to throw a ValueError like normal file objects. |