Я создал класс Game, который имеет атрибут словаря игроков в качестве атрибута, в котором должно быть ~ 36 игроков.
Я повторяю цикл, создаю новый экземпляр объекта Game с каждой итерацией и печатаю содержимое каждого игрока в CSV-файл.
Однако при каждой итерации, хотя создается новый объект, создается впечатление, что атрибут player добавляется, а не собирается сборщиком мусора.
sheet = open('playerGames.csv', 'w+')
gameNum = 2018020001
while gameNum < 2018020015:
game = Game(gameNum)
print(len(game.players), end=", ")
for player in game.players:
for stat in game.players[player]:
sheet.write(str(game.players[player][stat]) + ",")
sheet.write("\n")
game = None
gameNum = gameNum + 1
Приведенный выше оператор print должен печатать число около 36 каждый раз, однако он выводит следующее 36, 72, 108, 144, 163, 199, 217, 253, 289, 325, 361, 397, 433, 469
Если сборщик мусора не прояснит это? Я добавил оператор game = None
в надежде, что весь объект будет собран, однако, похоже, это не сработает.