Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python cookiejar对象可以被腌制吗?_Python_Pickle_Cookiejar - Fatal编程技术网

Python cookiejar对象可以被腌制吗?

Python cookiejar对象可以被腌制吗?,python,pickle,cookiejar,Python,Pickle,Cookiejar,我试着像这样酸洗CookieJar对象: import cookielib import pickle dumpFile = open('cookie.dump','w') cj = cookielib.CookieJar() pickle.dump(cj, dumpFile) 它提出了以下例外情况: raise TypeError, "can't pickle %s objects" % base.__name__ TypeError: can't pickle lock objects

我试着像这样酸洗CookieJar对象:

import cookielib
import pickle

dumpFile = open('cookie.dump','w')
cj = cookielib.CookieJar()
pickle.dump(cj, dumpFile)
它提出了以下例外情况:

raise TypeError, "can't pickle %s objects" % base.__name__
TypeError: can't pickle lock objects

烹饪罐可以腌制吗?

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

但是,罐中包含的cookies是:

比如说,他会成功的。(然后,您可以加载结果并将cookie列表插入一个新的罐子。您可能需要先检查它们是否过期等。根据您在进行酸洗的时间,您甚至可能需要在转储之前进行检查。)

答案是“是”,但前提是您使用比
pickle
更好的序列化程序

>>> import cookielib
>>> import dill
>>> 
>>> cj = cookielib.CookieJar()
>>> _cj = dill.dumps(cj)
>>> cj_ = dill.loads(_cj)
>>> cj_
<CookieJar[]>
导入cookielib >>>进口莳萝 >>> >>>cj=cookielib.CookieJar() >>>_cj=人工倾倒(cj) >>>cj=静载荷(cj) >>>希杰_
使用类似于
MozillaCookieJar
LWPCookieJar
的实现及其方法,您会得到更好的服务吗

>>> import cookielib
>>> import dill
>>> 
>>> cj = cookielib.CookieJar()
>>> _cj = dill.dumps(cj)
>>> cj_ = dill.loads(_cj)
>>> cj_
<CookieJar[]>