我有一個CookieJar的對象,我想泡菜。如何醃製CookieJar?
但是,正如你們大概知道的那樣,在包含鎖定對象的對象上醃製扼流圈。出於某種可怕的原因,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對象。但是有更好的方法嗎?
哇!這個問題聽起來像是在廚房工作的問題。我很驚訝用於這些工具的名稱:) – shahkalpesh 2009-06-21 05:25:28
你有沒有得到一個好的解決方案?如果是這樣,請發帖。 – 2009-07-09 06:48:09
@保羅亞歷克斯和Anurag的解決方案的工作。雖然Anurag的解決方案更加快速,但是Alex的解決方案更加通用,速度更慢,因此我會將其留給社區來決定哪個更好。 – Unknown 2009-07-09 22:38:05