Could not open resource file, pygame error: "FileNotFoundError: No such file or directory."
Не удалось открыть файл ресурсов, ошибка pygame: "FileNotFoundError: нет такого файла или каталога".
Import pygame
pygame.init()
BG = pygame.image.load('_pycache_/test_bg.jpg')
defDrawGameWin(): window.blit(BG,(0,0))
pygame.display.update()
DrawGameWin()
Переведено автоматически
Ответ 1
Путь к файлу ресурса (изображения, шрифта, звука и т.д.) Должен быть относительно текущего рабочего каталога. Рабочий каталог, возможно, отличается от каталога файла python. Недостаточно поместить файлы в один каталог или подкаталог. Вам также необходимо указать рабочий каталог. В качестве альтернативы вы можете создать абсолютный путь к файлу.
Имя и путь к файлу можно получить с помощью __file__. Текущий рабочий каталог можно получить с помощью os.getcwd() и его можно изменить с помощью os.chdir(path):
Альтернативное решение - найти абсолютный путь. Если файл находится во вложенной папке файла python (или даже в той же папке), то вы можете получить каталог файла и присоединиться (os.path.join()) к относительному пути к файлу. например:
import pygame import os
# get the directory of this file sourceFileDir = os.path.dirname(os.path.abspath(__file__))
# [...]
# join the filepath and the filename filePath = os.path.join(sourceFileDir, 'test_bg.jpg') # filePath = os.path.join(sourceFileDir, '_pycache_/test_bg.jpg')
surface = pygame.image.load(filePath)
То же самое можно сделать с pathlib модулем. Измените рабочий каталог