2017-02-01 2 views
0

mit Python 36, pygame 1.9.3, Atom 1.13 TexteditorAtom: Atom-Läufer kippt Bilder finden/benutzt sie mit pygame

Zum ersten Mal eine Frage hier auf Stack-Überlauf zu fragen.

Aus irgendeinem Grund, wenn ein Bild Laden bis (im selben Ordner wie die Py-Datei) wie folgt:

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

gesetzt meine blit Linie, und es mit Atom läufer laufen bekomme ich diesen Fehler:

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

aber wenn ich auf die tatsächliche .py-Datei doppelklicke, lädt sich mein Bild gut.

auch, wenn ich tatsächlich den vollständigen Verzeichnispfad des Bildes in Atom eingeben, lädt das Bild fein.

Ich bin ziemlich neu in der Codierung. Ich vermute, das hat etwas mit "Pfad" zu tun? Ich habe nur mit Pfaden verstimmt, um Atom Runner dazu zu bringen, die richtige Pygame-Version zu verwenden, aber ich habe keine Ahnung, warum meine Image-Datei nicht wie die Python IDLE geladen wird.

+0

Sie verwenden eine Datei mit einem Leerzeichen im Namen, daher ist es möglich, dass der Interpreter verwirrt wird und denkt, dass 'meine' Datei zu öffnen ist und' background.png' ein anderer Befehl. Hast du es mit einer Datei ohne Leerzeichen im Namen versucht? –

+0

habe gerade versucht mybackground.png keine Leerzeichen, und es warf mir den gleichen Fehler ... so seltsam. – yougetagoldstar

Antwort

0

Ihr Problem ist, dass atom-runner den Atom-Projektpfad als Arbeitsverzeichnis verwendet, wenn Sie ein Programm ausführen. Ihr Programm geht davon aus, dass das Arbeitsverzeichnis dem Ordner entspricht, in dem sich das Bild befindet. Sie müssen dazu entweder ein Atom-Projekt als Stammordner einrichten oder mit 'os.path' den richtigen Pfad zum Bild festlegen also:

from os import path 

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

Gotcha, und danke. Diese Zeilen haben funktioniert. Wusste das nicht über den Atom-Läufer. – yougetagoldstar