【问题标题】:Saving data in pickle [closed]在泡菜中保存数据[关闭]
【发布时间】:2014-10-01 02:31:44
【问题描述】:

我正在使用python编写代码,我在网上阅读过使用pickle方法保存游戏,但我不知道它是如何工作的。我正在尝试将我的最高分保存到一个 txt 文档中,以便下次访问该程序时保存最高分。

【问题讨论】:

  • 你读过the documentation吗?
  • 是的,但我不知道什么是绝育
  • 它是serialization。阅读它on Wikipedia
  • 我也会这样做pickle.dump(top_score)
  • 我在“是的,但我不知道什么是绝育”时大笑

标签: python python-3.x pygame pickle


【解决方案1】:

好的,简单的例子。假设您将最高分保存在字典中:

top_scores = {10000: "Joey", 8000: "Mary", 6000: "Tommy", 4000: "Susie", 2000: "Bobby"}

你要做的就是把它腌制到磁盘是:

import pickle

with open("top_scores.pickle", "wb") as scores:
    pickle.dump(top_scores, scores)

如果您稍后想要取消提取数据,只需执行以下操作:

import pickle

with open("top_scores.pickle", "rb") as scores:
    top_scores = pickle.load(scores)

当然,您还可以做更多事情,但这应该可以帮助您入门。

【讨论】:

  • 抱歉忘记复制了。 这个错误 line 354, in <module> pickle.dump(top_score, score) io.UnsupportedOperation: write
  • 我很困惑是把这个代码my code:
  • @Lioninn22 你需要切换"rb""wb" 参数。您需要以写入二进制模式 (wb) 打开文件以使用 pickle.dump() 写入,并以读取二进制模式 (rb) 以使用 pickle.load() 读取。此外,请确保您的最高分实际上存储在一个名为 top_score 的变量中。
  • 当我这样做时,我收到此错误with QUIT("top_score.pickle", "wb") as scores: TypeError: 'int' object is not callable
  • @Lioninn22 你为什么用with QUIT(...)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-22
  • 2017-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-18
相关资源
最近更新 更多