Как сохранить загруженный модуль? - PullRequest
0 голосов
/ 07 октября 2019

Я получил модуль stuff.py с множеством неорганизованных объектов.

import stuff

myList = getattr(stuff, 'atomsList')
myList.append ('protons')

setattr(stuff, 'atomsList', myList)

Как сохранить модуль stuff сейчас как stuff.py?

1 Ответ

0 голосов
/ 07 октября 2019

Идея с модулями, о которых я думал, заключается в том, что они определены в общем смысле и становятся конкретными только тогда, когда они «создаются» так же, как классы (и вы не можете редактировать исходный код). Поэтому, если вы не хотите напрямую редактировать свой класс, вы должны сохранить созданный экземпляр класса с помощью pickle.

Я думаю, Pickle - это то, что вы ищете ...

Например:

import pickle
import stuff

myList = getattr(stuff, 'atomsList')
myList.append ('protons')
setattr(stuff, 'atomsList', myList)

with open("instantiated_stuff.pickle", ‘wb’) as f:
    pickle.dump(stuff, f)

Затем, чтобы открыть файл, используйте:

with open("instantiated_stuff.pickle", ‘rb’) as pickle_file:
    opend_stuff = pickle.load(pickle_file)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...