我有一个要腌制的带有 CookieJar 的对象。
然而,大家可能都知道,pickle 会阻塞包含锁定对象的对象。由于某些可怕的原因,CookieJar 有一个锁对象。
from cPickle import dumps
from cookielib import CookieJar
class Person(object):
def __init__(self, name):
self.name = name
self.cookies = CookieJar()
bob = Person("bob")
dumps(bob)
# Traceback (most recent call last):
# File "<stdin>", line 1, in <module>
# cPickle.UnpickleableError: Cannot pickle <type 'thread.lock'> objects
我该如何坚持这一点?
我能想到的唯一解决方案是将 FileCookieJar.save 和 FileCookieJar.load 用于 stringIO 对象。但是有更好的方法吗?