Can A Cookiejar Object Be Pickled?
I tried pickling a CookieJar object like this: import cookielib import pickle dumpFile = open('cookie.dump','w') cj = cookielib.CookieJar() pickle.dump(cj, dumpFile) It raised th
Solution 1:
The answer to the question as asked is "no": the jar itself is not pickle-able.
However, the cookies contained in the jar, are:
pickle.dump([cforcin cj], dumpFile)
will do the trick, for instance. (You can then load the result and insert the list of cookies into a new jar. You will probably want to check them for expiration and such first though. Depending on when you're doing the pickling you might even want to check before dumping.)
Solution 2:
The answer is "yes", but only if you use a better serializer than pickle
.
>>>import cookielib>>>import dill>>>>>>cj = cookielib.CookieJar()>>>_cj = dill.dumps(cj)>>>cj_ = dill.loads(_cj)>>>cj_
<CookieJar[]>
Solution 3:
Might you be better served by using an implementation of FileCookieJar
like MozillaCookieJar
or LWPCookieJar
, and their save()
methods?
Post a Comment for "Can A Cookiejar Object Be Pickled?"