JsonPickle AttributeError: невозможно установить атрибут - PullRequest
0 голосов
/ 05 июля 2019

Я работаю над программой, которая использует график NetworkX, и между запусками сохраняет его в текстовом файле с помощью jsonpickle. Когда я распаковываю файл, иногда я получаю эту ошибку: self.graph = jsonpickle.decode (graph_json) Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/jsonpickle/unpickler.py", строка 41, в декодировании вернуть context.restore (данные, сброс = сброс, классы = классы) Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/jsonpickle/unpickler.py", строка 150, для восстановления значение = self._restore (obj) Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/jsonpickle/unpickler.py", строка 207, в _restore возврат восстановить (объект) Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/jsonpickle/unpickler.py", строка 323, в _restore_object вернуть self._restore_object_instance (obj, cls) Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/jsonpickle/unpickler.py", строка 390, в _restore_object_instance вернуть self._restore_object_instance_variables (объект, экземпляр) Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/jsonpickle/unpickler.py", строка 440, в _restore_object_instance_variables instance = self._restore_from_dict (объект, экземпляр) Файл "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/jsonpickle/unpickler.py", строка 423, в _restore_from_dict setattr (экземпляр, k, значение) AttributeError: невозможно установить атрибут

Это мой код:

    self.graph = nx.Graph()
    file = open('network.txt','w')
    graph_json = jsonpickle.encode(self.graph)
    file.write(graph_json)
    file.close()
    file = open('network.txt', 'r')
    graph_json = file.read()
    file.close()
    self.graph = jsonpickle.decode(graph_json)

Это последняя строка, которая выдает ошибку.

...