Не удается загрузить изображения в Pygame - PullRequest
1 голос
/ 31 марта 2020

Я пытаюсь загрузить изображение .png с помощью функции pygame.image.load (). Изображение, которое я пытаюсь загрузить, находится в той же относительной директории, что и файл программы, которую я запускаю. Я придерживался того же синтаксиса, который использовал ранее и нашел в руководствах, но он все еще не работает.

Код:

import pygame
image = pygame.image.load("ImageFolder/TestImage.png")

Каталог файлов (пока не может вставлять изображение, поэтому вот ссылка):

https://gyazo.com/5b8c20ca6058db7629caae602adbcb35

Сообщение об ошибке:

pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
  File "c:/Users/dougl/OneDrive/Skolgrejer/Programmering/Program/TestFolder/TestFile.py", line 3, in <module>
    image = pygame.image.load("ImageFolder/TestImage.png")
pygame.error: Couldn't open ImageFolder/TestImage.png
PS C:\Users\dougl\OneDrive\Skolgrejer\Programmering\Program> 

Использование: Python 3.7.4 32-бит, pygame 1.9.6

1 Ответ

3 голосов
/ 31 марта 2020

Также похоже, что ваша программа не выполняется в том же каталоге, в котором находится ваш ImageFolder.

Это можно проверить довольно легко:

import os.path

dir_path = os.path.dirname( os.path.realpath( __file__ ) )
print( "Current dir is [%s]" % dir_path )

Вы также можете использовать os.chdir(), чтобы убедиться, что ваш код работает в правильном месте перед началом загрузки:

import os

INSTALL_DIR = "c:/Users/dougl/OneDrive/Skolgrejer/Programmering/Program/TestFolder/"

os.chdir( INSTALL_DIR )

... и, возможно, проверьте, находится ли ваш каталог там, где вы думаете, и обработайте его изящно:

import os.path

IMAGE_DIR = 'ImageFolder'

if ( not os.path.isdir( IMAGE_DIR ) ):
    # TODO: handle error
    pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...