I am trying to learn how to pickle
and save an object in python. However, when I use the sample code below I get the following error: io.UnsupportedOperation: read
which traces back to favorite_color = pickle.load(f_myfile)
. I cannot find a good explanation of this particular error. What am I doing wrong and how do I correct it?
import pickle # or import cPickle as pickle
# Create dictionary, list, etc.
favorite_color = { "lion": "yellow", "kitty": "red" }
# Write to file
f_myfile = open('myfile.pickle', 'wb')
pickle.dump(favorite_color, f_myfile)
f_myfile.close()
# Read from file
f_myfile = open('myfile.pickle', 'wb')
favorite_color = pickle.load(f_myfile) # variables come out in the order you put them in
f_myfile.close()
Change:
# Read from file
f_myfile = open('myfile.pickle', 'wb')
to:
f_myfile = open('myfile.pickle', 'rb')
and you can see the dict obj you've pickled.