[Python-Dev] When to use EOFError?

André Malo nd at perlig.de
Sun Jun 26 08:00:49 EDT 2016


* Serhiy Storchaka wrote:

> On 22.06.16 19:22, André Malo wrote:
> > I often concatenate multiple pickles into one file. When reading them,
> > it works like this:
> >
> > try:
> >      while True:
> >          yield pickle.load(fp)
> > except EOFError:
> >      pass
> >
> > In this case the truncation is not really unexpected. Maybe it should
> > distinguish between truncated-in-the-middle and
> > truncated-because-empty.
> >
> > (Same goes for marshal)
>
> This is interesting application, but works only for non-truncated data.
> If the data is truncated, you just lose the last item without a notice.

Yes (as said). In my case it's typically not a problem, because I write them 
myself right before reading them. It's a basically about spooling data to 
disk in order to keep them out of the RAM.
However, because of the truncation issue it would be nice, to have a 
distinction between no-data and truncated-data.

Cheers,
-- 
Winnetous Erbe: <http://pub.perlig.de/books.html#apache2>


More information about the Python-Dev mailing list