Как я могу засолить результаты пены?
Чтобы избежать повторного доступа к серверу SOAP во время разработки, я пытаюсь кэшировать результаты, чтобы я мог запускать оставшуюся часть кода, не запрашивая сервер каждый раз.
С кодом ниже я получаюPicklingError: Can't pickle <class suds.sudsobject.AdvertiserSearchResponse at 0x03424060>: it's not found as suds.sudsobject.AdvertiserSearchResponse
когда я пытаюсь засолить результат. Я думаю, это потому, что классы создаются динамически.
import pickle
from suds.client import Client
client = Client(...)
result = client.service.search(...)
file = open('test_pickle.dat', 'wb')
pickle.dump(result, file, -1)
file.close()
Если я уроню-1
версия протокола отpickle.dump(result, file, -1)
Я получаю другую ошибку:
TypeError: a class that defines __slots__ without defining __getstate__ cannot be pickled
Травление - это то, что нужно делать? Могу ли я заставить его работать? Есть ли способ лучше?