首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cookiejar对象可以进行pickled吗?

cookiejar对象可以进行pickled吗?
EN

Stack Overflow用户
提问于 2013-08-11 15:29:32
回答 3查看 1.1K关注 0票数 4

我尝试过像这样酸洗一个CookieJar对象:

代码语言:javascript
复制
import cookielib
import pickle

dumpFile = open('cookie.dump','w')
cj = cookielib.CookieJar()
pickle.dump(cj, dumpFile)

它引发了以下异常:

代码语言:javascript
复制
raise TypeError, "can't pickle %s objects" % base.__name__
TypeError: can't pickle lock objects

CookieJar可以腌制吗?

EN

回答 3

Stack Overflow用户

发布于 2013-08-11 15:40:57

问题的答案是“不”:罐子本身是不能腌制的。

但是,jar中包含的cookie是

代码语言:javascript
复制
pickle.dump([c for c in cj], dumpFile)

例如,就能做到这一点。(然后,您可以加载结果并将cookie列表插入到新的jar中。你可能会想先检查它们是否过期,然后再检查。根据您何时进行酸洗,您甚至可能希望在转储之前进行检查。)

票数 2
EN

Stack Overflow用户

发布于 2015-07-28 09:42:10

答案是肯定的,但前提是您使用了比pickle更好的序列化程序。

代码语言:javascript
复制
>>> import cookielib
>>> import dill
>>> 
>>> cj = cookielib.CookieJar()
>>> _cj = dill.dumps(cj)
>>> cj_ = dill.loads(_cj)
>>> cj_
<CookieJar[]>
票数 2
EN

Stack Overflow用户

发布于 2019-10-03 02:19:53

使用像MozillaCookieJarLWPCookieJar这样的FileCookieJar实现以及它们的save()方法是否会更好地为您服务?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18169748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档