Как изменить, чтобы заставить Python читать изображения в нескольких папках - PullRequest
0 голосов
/ 21 сентября 2019

Я пытаюсь отобразить изображение в Python, и всякий раз, когда я пытаюсь, я получаю эту ошибку:

Traceback (most recent call last):
  File "C:/Users/Brandon/PycharmProjects/UnstableUnicorns/UnstableUnicorns Test.py", line 15, in <module>
    BabyNarwhal = pygame.image.load(r'CardImages\BasicDeck\BabyUnicorns\Baby Narwhal.png').convert()
pygame.error: Couldn't open CardImages\BasicDeck\BabyUnicorns\Baby Narwhal.png

Я согласен, что путь к изображению немного запутан, но я могу 'Кажется, он не нашел способа загрузить файл.Я попытался ввести полный путь к файлу, я пытался изменить место чтения, но я не могу загрузить это изображение.Я действительно не хочу помещать изображения в ту же папку, что и код, так как я хочу показать много разных изображений.Вот мой код:

import pygame

pygame.init()

xDisplay = 1000
yDisplay = 500

white = (255, 255, 255)

BabyNarwhal = pygame.image.load(r'CardImages\BasicDeck\BabyUnicorns\Baby Narwhal.png').convert()


def main():
    display = pygame.display.set_mode((xDisplay, yDisplay))

    while True:
        display.fill(white)

        display.blit(BabyNarwhal, (0, 0))

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                quit()

            pygame.display.update()


main()

и вот полный путь к изображению:

C: \ Users \ Brandon \ PycharmProjects \ UnstableUnicorns \ CardImages \ BasicDeck \ BabyUnicorns

1 Ответ

0 голосов
/ 28 сентября 2019

Использование пробелов в имени файла не рекомендуется.И использование «/» вместо «\» может устранить ошибку.Таким образом, вы должны переименовать ваше изображение без пробелов и использовать:

babynarwhal_img = pygame.image.load(CardImages/BasicDeck/BabyUnicorns/BabyNarwhal.png).convert()

Примечание: изменение имени переменной из-за папки с тем же именем может вызвать проблемы в определенных версиях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...