2017-02-21 4 views
1

Я создал игру с использованием python и pygame, и я только что попытался сделать что-то с сохранением времени и имен. Однако, когда в списке есть 2 элемента, первые предметы сохраняются и работают нормально, но секунды забираются каждый раз, когда я заканчиваю игру.Почему мой 2-й список содержит не более 2-х предметов

try: 
    openFile = open("times.txt", "rb") 
    runTimes = pickle.load(openFile) 
    runTimes.append([g.name, g.count]) 
    openFile.close() 
except FileNotFoundError: 
    runTimes = [] 
    runTimes.append([g.name, g.count]) 
    openFile = open("times.txt", "wb") 
    pickle.dump(runTimes, openFile) 
    openFile.close() 

if len(runTimes) > 1: 
    print(runTimes) 

Run 1 = Ничего не происходит

Run 2

[['Undefined', 7.5], ['Undefined', 8.3]] 

Run 3

[['Undefined', 7.5], ['Undefined', 7.5]] 
+0

Что такое 'g'? Где он инициализируется? –

ответ

1

Не вы забыли pickle.dump также когда try: блок удается обновить ваш файл? Это, вероятно, то, что вы хотите:

try: 
    openFile = open("times.txt", "rb") 
    runTimes = pickle.load(openFile) 
    openFile.close() 
except FileNotFoundError: 
    runTimes = [] 

runTimes.append([g.name, g.count]) 
openFile = open("times.txt", "wb") 
pickle.dump(runTimes, openFile) 
openFile.close() 

if len(runTimes) > 1: 
    print(runTimes) 
Смежные вопросы