Прежде всего, утверждение
pygame.init
не инициирует pygame. Это не вызов метода, он вообще ничего не делает. Квадратные скобки отсутствуют:
pygame.init()
Путь к файлу изображения должен соответствовать текущему рабочему каталогу. Возможно, рабочий каталог отличается от каталога файла python.
Имя и путь к файлу можно получить по __file__
. Текущий рабочий каталог может быть получен с помощью os.getcwd()
и может быть изменен с помощью os.chdir(path)
.
Одним из решений является изменение рабочего каталога:
import os
sourceFileDir = os.path.dirname(os.path.abspath(__file__))
os.chdir(sourceFileDir )
Альтернативное решение - найти абсолютный путь. Если изображение относится к папке файла Python (или даже в той же папке), вы можете получить каталог файла и объединить имя файла изображения. Например:
import pygame
import os
# get the directory of this file
sourceFileDir = os.path.dirname(os.path.abspath(__file__))
# [...]
imgPath = os.path.join(sourceFileDir, 'test_bg.jpg')
# imgPath = os.path.join(sourceFileDir, '_pycache_/test_bg.jpg')
BabyNarwhal = pygame.image.load().convert(imgPath)
BG = pygame.image.load(imgPath )