Strange KeyError using cPickle
Tim Peters
tim.peters at gmail.com
Wed Jun 1 21:03:37 EDT 2005
[Rune Strand]
> I'm experiencing strange errors both with pickle and cPickle in the
> below code:
>
>
> import cPickle as pickle
> #import pickle
> from string import ascii_uppercase
> from string import ascii_lowercase
>
> def createData():
> d1 = list("Something's rotten")
> d2 = tuple('in the state of Denmark')
>
> d3 = [('a', 'b'), ('c', 'd')]
> #d3 = [('s a', 's b'), ('s c', 's d')]
> #d3 = [('sa', 'sb'), ('sc', 'sd')]
> #d3 = [['s a', 's b'], ['s c', 's d']]
>
> d4 = dict(zip(ascii_uppercase,ascii_lowercase))
> return [d1, d2, d3, d4]
>
> def doPickle(data, pickleFile = 'pickleTest.p', proto = 2):
> f = XWwz(pickleFile, 'w')
What is "XWwz"? Assuming it's a bizarre typo for "open", change the
'w' there to 'wb'. Pickles are binary data, and files holding pickles
must be opened in binary mode, especially since:
> ...
> (on WinXP, CPython 2.4.1)
More information about the Python-list
mailing list