如何保存已加载的模块?

时间:2019-10-06 23:45:45

标签: python module

我有一个stuff.py模块,其中包含许多无序的对象。

import stuff

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

setattr(stuff, 'atomsList', myList)

如何立即将stuff模块另存为stuff.py

1 个答案:

答案 0 :(得分:0)

我认为带有模块的想法是,它们是在一般意义上定义的,只有在以与类相同的方式“实例化”它们(并且您无法编辑源代码)时才对其进行特定化。因此,除非您想直接编辑您的班级,否则应使用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)