pygame.error "не удалось открыть image.png" только в командной строке - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть очень простая программа на Python, которую я написал для изучения pygame, и среди прочего я использую изображение.

Когда я запускаю программу с PyCharm или когда я запускаю ее двойным щелчком мышина файл, он работает нормально.Однако, если я пытаюсь запустить его через командную строку, я получаю следующую ошибку:

C:\Users\julix>C:\Users\julix\Documents\test\pygame_tutorial.py
pygame 1.9.4
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
  File "C:\Users\julix\Documents\test\pygame_tutorial.py", line 21, in <module>
    carImg = pygame.image.load("racecar.png")
pygame.error: Couldn't open racecar.png

Это строка в моем коде, к которой она относится:

carImg = pygame.image.load("racecar.png")

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

При необходимости можно опубликовать полный код.Заранее спасибо

1 Ответ

0 голосов
/ 30 ноября 2018

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

Если вы хотите использовать определенный каталог, добавьте ваш путь к имени файла.Гибкий подход заключается в определении пути к текущему файлу и его использовании.В Python есть способ сделать это с помощью os.path.dirname.

import os.path
print(os.path.dirname(__file__))

. В этом случае это приведет к следующему коду:

import os.path
filepath = os.path.dirname(__file__)
carImg = pygame.image.load(os.path.join(filepath, "racecar.png"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...