文件仅在程序结束时写入

2024-09-30 19:21:51 发布

您现在位置: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()

Tags: 文件selfeventgameyamldefupdatede