我是Python新手,我正在做一个游戏,保存多个统计数据。然而,在尝试使用readline()
加载这些统计数据时,我碰巧得到了混乱的值,混合了保存的各种统计数据
# Save
...
file.write(str(p_lv)) # 1 (line 3)
file.write(str(p_xp)) # 10 (line 4)
file.write(str(p_swd)) # s01 (line 5)
...
# Load
...
p_lv = int(file.readline(3))
p_xp = int(file.readline(4))
p_swd = file.readline(5)
...
当我在名称中进行保存时,它会将整个保存保存为单个字符串,如下所示:
8010015s01100Nutik
我尝试调用load命令并在框中保存,但结果是:
ValueError: invalid literal for int() with base 10: '5s01'
它混淆了我所处的位置,有没有办法让它读出来,比如,我写的第四条
如果要将每个stat值保存在文件中的单独一行,则必须在保存时手动添加换行符。有些人喜欢:
当您读回文件时,使用
readlines
方法,该方法实际上从读取的文件返回一个行数组;因此,您将能够按以下顺序访问数据:更好的解决方案是以JSON格式序列化/反序列化统计数据:将统计数据保存在字典中,例如:
您将另存为:
并将其读回:
看来你不是在写新词
使用以下命令更改每个写调用:
另外,
file.readline()
不接受参数。删除它的number参数,或者如果没有使用所有行,请执行以下操作:相关问题 更多 >
编程相关推荐