Tôi có một đối tượng với CookieJar mà tôi muốn dùng.Làm thế nào để dưa một CookieJar?
Tuy nhiên, như tất cả các bạn có thể đã biết, các cuộn cảm ứng trên các vật thể có chứa các vật thể khóa. Và đối với một số lý do khủng khiếp, một CookieJar có một đối tượng khóa.
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
Làm cách nào để duy trì điều này?
Giải pháp duy nhất tôi có thể nghĩ đến là sử dụng FileCookieJar.save và FileCookieJar.load cho đối tượng stringIO. Nhưng có cách nào tốt hơn không?
Wow !! Câu hỏi giống như câu hỏi để làm việc trong nhà bếp. Tôi ngạc nhiên với những cái tên được sử dụng cho các công cụ :) – shahkalpesh
Bạn đã có một giải pháp tốt? Nếu có, vui lòng đăng. –
@Paul cả giải pháp của Alex và Anurag đều hoạt động. Trong khi giải pháp của Anurag là hackish và nhanh hơn, giải pháp của Alex là tổng quát hơn và chậm hơn, vì vậy tôi sẽ để nó cho cộng đồng để quyết định cái nào tốt hơn. – Unknown