나는 피클하고 싶은 쿠키 뚜껑이있는 물건이 있습니다.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 객체에 사용하는 것입니다. 그러나 더 좋은 방법이 있습니까? ,하지만 당신은 모든 쿠키를 얻을 수있는 CookieJar
인스턴스를 반복 (예를 들어, 사람들의 목록을 유지) 할 수 있습니다 - (! 즉 FileCookieJar
서브 클래스 대부분에 대해 무엇이다)
와우 !! 질문은 부엌에서 일하는 것에 대한 질문과 같습니다. 도구에 사용 된 이름에 놀랐습니다 :) – shahkalpesh
좋은 해결책을 얻었습니까? 그렇다면 게시하십시오. –
@Paul Alex와 Anurag의 솔루션이 모두 작동합니다. Anurag의 솔루션은 빠른 속도로 진행되는 반면, Alex의 솔루션은 좀 더 일반적이고 느립니다. 따라서 더 나은 것을 결정하기 위해 커뮤니티에 맡기겠습니다. – Unknown