我有一堂课,为游戏中的玩家提供服务,创建他们以及其他东西。
我需要将这些播放器对象保存在文件中,以便以后使用。我已经尝试过pickle模块,但是我不知道如何保存多个对象并再次加载它们?有没有办法做到这一点,还是应该使用其他类(例如列表)并将对象保存并加载到列表中?
有没有更好的办法?
到目前为止,使用列表,元组或字典是最常见的方法:
import pickle
PIK = "pickle.dat"
data = ["A", "b", "C", "d"]
with open(PIK, "wb") as f:
pickle.dump(data, f)
with open(PIK, "rb") as f:
print pickle.load(f)
打印:
['A', 'b', 'C', 'd']
但是,泡菜文件 可以 包含任意数量的泡菜。这是产生相同输出的代码。但是请注意,它很难编写和理解:
with open(PIK, "wb") as f:
pickle.dump(len(data), f)
for value in data:
pickle.dump(value, f)
data2 = []
with open(PIK, "rb") as f:
for _ in range(pickle.load(f)):
data2.append(pickle.load(f))
print data2
如果这样做,您有责任知道所写出的文件中有多少个泡菜。上面的代码通过首先腌制列表对象的数量来做到这一点。
问题内容: 我有一堂课,为游戏中的玩家提供服务,创建他们以及其他东西。 我需要将这些播放器对象保存在文件中,以便以后使用。我已经尝试过pickle模块,但是我不知道如何保存多个对象并再次加载它们?有没有办法做到这一点,还是应该使用其他类(例如列表)并将对象保存并加载到列表中? 有没有更好的办法? 问题答案: 到目前为止,使用列表,元组或字典是最常见的方法: 输出: 但是,泡菜文件可以包含任意数量的
问题内容: 我正在尝试创建一个使用设置和Gui模块的用户系统,并且当GUI模块请求使用pickle加载文件时,我总是遇到属性错误。这来自设置模块: 这是GUI模块: 每个用户都是一个类,并放入列表中,然后当我仅加载设置文件并验证登录名时,使用pickle保存该列表,一切正常,但是当我打开GUI模块并尝试验证其是否无效时让我,我得到的错误: 问题答案: 问题在于,您 实际上是通过运行“设置”模块 来
我很想知道如何保存和加载两个HashMaps,我一直在尝试使用自己的方法,但我什么都想不通,因为一个正在覆盖另一个! 这是我的主要.class 这是我的潜艇.class 正如我在一开始提到的,地图会互相覆盖,我不知道如何解决这个问题!
我正在生成。Liferay portlet中的svg文件将保存在服务器(JBoss AS)上的svg文件夹中。这些文件生成并保存在中。java类,如下所示: 该文件保存在server/bin/svg目录中。但是当我试图访问我的数据库中的文件时。jsp页面,它似乎找不到文件(可能正在另一个目录中查找)。我怎样才能告诉它,所需的文件在哪里?我可以使用绝对路径,将其存储在某个位置并将其传递给。jsp页面
问题内容: 我正在尝试从我训练的模型中保存和加载权重。 我用来保存模型的代码是。 让我知道这是不正确的方法,还是有更好的方法。 但是当我尝试使用它们加载它们时, 但我得到这个错误: 关于我可能在做错的任何建议吗?先感谢您。 问题答案: Keras提供了三种不同的保存方法。这些在上面(带有示例)以及下面的视频链接中进行了描述。 首先,收到错误的原因是因为您打错电话。 要保存和加载模型的权重,您首先需
我想要的是在这一点上(当物体碰撞和游戏结束是真的),分数被保存,然后游戏结束场景被加载。我如何在游戏结束时保存分数,然后将其与保存的最高分一起加载到游戏结束场景中??