擅长:python、mysql、java
<p>user2109788的答案基本上就是您所需要的全部,并且<code>pickle</code>或<code>shelve</code>是序列化数据的最佳方式,因为该文件不需要人类可读。</p>
<p>今天感觉很大方,下面的代码应该很容易适应您使用tkinter的具体情况。</p>
<p>为了在high score表中只保留10个值,我只需向列表中添加一个新的high score,对其进行排序,并通过对排序后的列表进行切片来保留前10个值。对于10个值应该没问题,但是如果你的列表很大的话,这将是一个糟糕的主意。</p>
<pre><code>from operator import itemgetter
import pickle
# pickle
high_scores = [
('Liz', 1800),
('Desi', 5000),
('Mike', 3200),
('John', 2000),
('Gabi', 3150),
('John', 3500),
('Gabi', 3100),
('John', 3000),
('Liz', 2800),
('Desi', 2800),
]
high_scores.append(('Dave', 3300))
high_scores = sorted(high_scores, key=itemgetter(1), reverse=True)[:10]
with open('highscores.txt', 'w') as f:
pickle.dump(high_scores, f)
# unpickle
high_scores = []
with open('highscores.txt', 'r') as f:
high_scores = pickle.load(f)
</code></pre>