【问题标题】:How to save game data in python3 (Pygame) in a txt file?如何将python3(Pygame)中的游戏数据保存在txt文件中?
【发布时间】:2020-09-06 18:21:53
【问题描述】:

我正在开发一个 cookie clicker 游戏,我想将 cookie 和 cps 的数量以及其他变量保存在一个 txt 文件中。我在 txt 文件中将一行设为如下列表:[100, 0, 0](Cookes、cps、自动答题器数量等)。但是,当我这样做是为了将列表中的值分配给变量时,而不是说值 '100' 只是事情中的第一个字母

cookies =]
cps = data[1]
auto_clicker_num = data[2]

这段代码:

cookies = 0
cps = 0
auto_clicker_num = 0

with open('data.txt') as data:
    data = data.readlines()[1] #I have it read the second line because the first one shows the order of the variable i.e. cookies then cps etc.

cookies = data[0]
cps = data[1]
auto_clicker_num = data[2]

print(f'Cookies: {cookies}')
print(f'CPS: {cps}')
print(f'Num of auto clickers: {auto_clicker_num}')

返回这个:

cookies: [
CPS: '
Num of auto clickers: 1

这是txt文件:

Cookies: xx | CPS: xx | auto_clicker_nums: xx |
['100', '1', '1']

救命!

【问题讨论】:

    标签: python-3.x string list


    【解决方案1】:

    需要注意的一个关键点是data.readlines() 返回一个字符串列表。

    所以data.readlines()[1]实际上是文件的第二行作为字符串:

    "['100', '1', '1']"
    

    而不是您期望的列表对象。

    这就是data[0]给你字符串的第一个字符的原因,即[data[1] 给出字符串的第二个字符,即'data[2] 给出字符串的第三个字符,即1

    如果要将数据保存到文件中,可以将所有数据存储在字典中,然后使用 json.dump() 将该字典写入文件。阅读时,您使用json.load()从文件读回您的字典

    【讨论】:

      猜你喜欢
      • 2018-12-05
      • 1970-01-01
      • 1970-01-01
      • 2011-09-19
      • 2016-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多