尝试取消拾取元组列表,然后在列表中循环以显示一行高核心板Python中的所有元组



刚开始编码,只学习Python一个月。

我正在解压缩一个文件,其中包含一个元组列表,其中存储了用户名、分数和完成测试的时间。该列表最多可容纳10个元组,但当我取消拾取并将其用于循环时,我只能显示一个元组。我希望它能把它们全部显示成一排。这可能是一件小事,但我不知所措,无法理解,所以希望有人能帮忙。

目前运行时是这样的:

_______HighScore Board_______
NAME    SCORE   TIME OF ENTRY
bill 28.02 03:27PM 23-November-2012

它不显示任何其他保存的分数,所以我需要创建另一个循环来继续运行列表并打印元组吗?

代码片段如下:

提前感谢

您的评论"它会覆盖pickle列表而不是添加到它吗?"是正确的。如果你仔细想想,它不能做任何其他事情:

open(…,'w')将打开一个文件进行写入,如果该文件已存在,则将其截断为长度0。换句话说,先前的内容被丢弃。

pickle将创建一个数据包,您可以将其存储或通过网络传递。在这种情况下,您将其写入已打开并截断的文件中。这个文件只包含你刚刚腌制的东西。

因此,在检索内容时,它将只看到您放入的最后一个内容,因为您在打开文件时删除了其余内容。

你可以做两件事。如果你打开文件进行append('ab'而不是'wb'),你可以一个接一个地写几个腌制的东西。你还应该能够一个接一个地阅读它们。不过,我不建议这样做,除非文件太大,以至于您不想将其全部加载到内存中。

通常,在向板中添加内容时,您需要读取当前板,向列表中添加一个项目,然后将生成的板写回文件(有意覆盖旧板)。

最新更新