python - 文件只写在我的程序末尾
问题描述
我正在使用 pygame 在 Python 中创建一个游戏,当我更新我的 pygame 显示时我必须更新我的文件。但是当我尝试编写它时,它只写在我的程序末尾。
我尝试编写文件的类
class GameReader():
def __init__(self):
self.file_content = [
{'last_edit': 0},
{
'map_infos': {
'p1': 0,
'p2': 0,
'p3': 0,
'p4': 0,
'p5': 0,
'p6': 0,
'p7': 0,
'p8': 5
}
}
]
self.update_file()
def update_file(self):
with open('gameFiles/game.yaml', 'w') as file:
yaml.dump(self.file_content, file)
file.close()
的实例GameReader()
存储在一个类中Game()
while running:
# ajout du menu
screen.blit(game.menu.image, game.menu.rect)
# ajout du boutton de départ
screen.blit(game.start_btn.image, game.start_btn.rect)
# update
pygame.display.flip()
# update de la game file
game.game_reader.update_file()
# recuperer les events
for event in pygame.event.get():
# si fermeture de fenetre
if event.type == pygame.QUIT:
running = False
pygame.quit()
解决方案
文件是通过缓冲区写入的,因此您需要刷新它。
file.flush()