Unnatural behaviour in Pickling
Reinhold Birkenfeld
reinhold-birkenfeld-nospam at wolke7.net
Thu Jun 17 08:44:21 EDT 2004
Pekka Niiranen wrote:
> Hi there,
>
> why must file be opened in "r" -mode, before loading works
> with Pickling? This forces me to close the file between pickle.dump
> and pickle.load. :(
>
> Example:
> -----************------
>
> a = {'pekka': 1, 'jussi': 2}
> fh = open('c:\temp\log.log', "wb")
> pickle.dump(a,fh)
> fh.close()
>
> **** now:
> fh = open('c:\temp\log.log', "wb")
> b = pickle.load(fh)
> **** gives error:
> IOError: (0, 'Error')
>
> **** however:
> fh = open('c:\temp\loglog', "rb")
> b = pickle.load(fh)
> **** works.
Well, unpickling involves reading from the file, so you must open it in
read and write mode, e.g. "w+b".
BTW, you should reset the file pointer between dumping and loading by
using seek().
Reinhold
--
Wenn eine Linuxdistribution so wenig brauchbare Software wie Windows
mitbrächte, wäre das bedauerlich. Was bei Windows der Umfang eines
"kompletten Betriebssystems" ist, nennt man bei Linux eine Rescuedisk.
-- David Kastrup in de.comp.os.unix.linux.misc
More information about the Python-list
mailing list