私はピクルしたい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
サブクラスは、ほとんどが約あるものだ)
Wow !!質問は、台所で働くことの質問のように聞こえる。私はツールに使用されている名前に驚いています:) – shahkalpesh
あなたは良い解決策を得ましたか?もしそうなら、投稿してください。 –
@Paul AlexとAnuragの両方のソリューションが動作します。 Anuragのソリューションは急速で速いですが、Alexのソリューションはより一般的で低速ですので、私はそれをコミュニティに任せて、どちらが良いかを判断します。 – Unknown