"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como corrigir “FileNotFoundError” ao carregar recursos no Pygame?

Como corrigir “FileNotFoundError” ao carregar recursos no Pygame?

Publicado em 23/12/2024
Navegar:122

How to Fix

Carregando recursos com Pygame: abordando "FileNotFoundError"

Ao tentar carregar recursos externos, como imagens ou sons em Pygame, você pode encontrar o erro "FileNotFoundError: Arquivo ou diretório inexistente". Esse problema geralmente surge devido a caminhos incorretos de arquivos de recursos, principalmente quando o caminho é relativo ao diretório de trabalho atual.

Solução: definindo o diretório de trabalho ou criando um caminho de arquivo absoluto

Para resolver esse erro, certifique-se de que o diretório de trabalho esteja definido como o local onde residem seus arquivos de recursos. Isso pode ser conseguido com o módulo os:

import os

os.chdir(os.path.dirname(os.path.abspath(__file__)))

Como alternativa, você pode criar um caminho de arquivo absoluto combinando o caminho do diretório do arquivo e o nome do arquivo:

filePath = os.path.join(sourceFileDir, 'test_bg.jpg')
surface = pygame.image.load(filePath)

Solução alternativa usando pathlib

O módulo pathlib oferece outra abordagem para definir o diretório de trabalho ou criar caminhos de arquivo absolutos:

Definindo o diretório de trabalho:

import os, pathlib

os.chdir(pathlib.Path(__file__).resolve().parent)

Criando um caminho de arquivo absoluto:

import pathlib

filePath = pathlib.Path(__file__).resolve().parent / 'test_bg.jpg'
surface = pygame.image.load(filePath)
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3