2017-02-01 12 views
0

с помощью питона 36, Pygame 1.9.3, атом 1,13 текстовый редакторатом: атом-бегун не могу найти изображения/использовать их с Pygame

Первый раз задать вопрос здесь на переполнение стека.

По какой-то причине при загрузке до изображения (в той же папке, что и файл .py) следующим образом:

background_image = pygame.image.load('my background.png').convert() 

установить мою Blit линию, и запустить его с атомным бегуна я получаю эту ошибку:

pygame.error: Couldn't open my background.png 

, но когда я дважды нажимаю на файл .py, мое изображение загружается нормально.

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

Я довольно новичок в кодировании. Я предполагаю, что это имеет какое-то отношение к «пути»? Я только путался с путями, чтобы заставить бегуна использовать правильную версию pygame, но я понятия не имею, почему он не будет загружать мой файл изображения, как это делает IDLE python.

+0

Вы используете файл с пробелом в имени, поэтому возможно, что интерпретатор запутался и думает, что 'my' является открываемым файлом, а' background.png' является другая команда. Вы пробовали файл без пробела в имени? –

+0

просто попробовал mybackground.png без пробелов, и он бросил мне ту же ошибку ... так странно. – yougetagoldstar

ответ

0

Ваша проблема в том, что атом-бегун использует путь проекта Atom как рабочий каталог при запуске программы. Ваша программа предполагает, что рабочий каталог такой же, как и папка, в которой находится изображение. Вам нужно либо настроить проект Atom с этим в качестве корневой папки, либо использовать «os.path», чтобы установить правильный путь к изображению, например так:

from os import path 

working_dir = path.dirname(__file__) 
background_image = pygame.image.load(path.join(working_dir, 'my background.png')).convert() 
+0

Gotcha, и спасибо. Эти линии работали. Не знал об этом атома. – yougetagoldstar