如何在 python 中腌制和取消腌制对象列表?

How do I pickle and unpickle a list of objects in python?

提问人:Pioneer_11 提问时间:6/22/2023 最后编辑:Pioneer_11 更新时间:6/22/2023 访问量:21

问:

我正在用 Python 开发一个具有对象(恒星和行星)的程序,我试图在每次代码运行结束时保存这些对象并在开始时加载。当创建对象时,我将对象附加到列表(恒星的星列表,行星的行星列表)中,列表在我的保存函数中腌制,然后在我的加载函数中取消腌制。但是当它们未腌制时,清单是空的。

我正在尝试腌制和取消腌制对象列表,然后访问该列表中的对象。但是,取消腌制后列表是空的。

这些是我的保存功能:

def SaveStars():
    with open('StarData.pkl', 'wb') as savefile:
        pickle.dump(starlist, savefile)
        savefile.close()
        
def SavePlanets():
   with open('PlanetData.pkl', 'wb') as savefile:
        pickle.dump(planetlist, savefile)
        savefile.close()

这些是我的加载功能:

def LoadStars():
    with open('StarData.pkl', 'rb') as loadfile:
        starlist = pickle.load(loadfile)
        loadfile.close()

def LoadPlanets():
    with open('PlanetData.pkl', 'rb') as loadfile:
        planetlist = pickle.load(loadfile)
        loadfile.close()
列出 对象 泡菜

评论


答: 暂无答案