python - 为什么我的二维列表最多包含 2 个项目

标签 python python-3.x multidimensional-array pygame pickle

我使用 python 和 pygame 制作了一个游戏,我刚刚开始尝试做一些节省时间和名称的事情。然而,当列表中有 2 个项目时,第一个项目会保存并正常工作,但每次我完成游戏时,第二个项目都会被覆盖。

try:
    openFile = open("times.txt", "rb")
    runTimes = pickle.load(openFile)
    runTimes.append([g.name, g.count])
    openFile.close()
except FileNotFoundError:
    runTimes = []
    runTimes.append([g.name, g.count])
    openFile = open("times.txt", "wb")
    pickle.dump(runTimes, openFile)
    openFile.close()

if len(runTimes) > 1:
    print(runTimes)

运行 1 = 没有任何反应

运行2

[['Undefined', 7.5], ['Undefined', 8.3]]

运行3

[['Undefined', 7.5], ['Undefined', 7.5]]

最佳答案

try: block 成功更新文件时,您是否也忘记了 pickle.dump ?这可能就是您想要的:

try:
    openFile = open("times.txt", "rb")
    runTimes = pickle.load(openFile)
    openFile.close()
except FileNotFoundError:
    runTimes = []

runTimes.append([g.name, g.count])
openFile = open("times.txt", "wb")
pickle.dump(runTimes, openFile)
openFile.close()

if len(runTimes) > 1:
    print(runTimes)

关于python - 为什么我的二维列表最多包含 2 个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42359088/

相关文章:

python - Spark中groupBy的使用

python - 错误的请求biopython出了什么问题

javascript - 如何在javascript中使用这个多维数组

python - scrapy startproject不使用指定的TEMPLATES_DIR来生成项目settings.py

python - Pymongo 使用字符串 ID 而不是 ObjectID 插入文档

python - 如何根据阈值对多列进行分组并在Python中创建新列

python - 如何在 Cython 的 setup.py 中指定 Python 3 源?

python - 如何使用 isinstance 测试所有可能的整数类型

php - 基于种子的改组数组以获得始终相同的结果?

php数组生成挑战