如何从另一个目录将图像导入pygame?

时间:2019-11-10 18:19:04

标签: python pygame

我一直在尝试整理游戏,所以我决定将所有图像都放在单独的文件夹中。现在,我尝试再次加载图像,这给了我这个错误:

pygame.error: Couldn't open ./resouces/mage.png

这是我的代码:

char = pg.image.load(os.path.join('./resouces','mage.png')).convert()

顺便说一句,我已经使用以下方法将pg定义为pygame: pg = pygame, 我不知道这是否有问题。

我也尝试过进行pg.image.load(./resources/mage.png),这给了我同样的错误。

1 个答案:

答案 0 :(得分:1)

图像文件路径必须相对于当前工作目录。工作目录可能与python文件的目录不同。

文件名和路径可以通过__file__获取。当前工作目录可以通过os.getcwd()来获取。

如果图像与python文件位于同一文件夹中,则您可以获取文件目录并连接图像文件名。例如:

import pygame
import os

# get the directory of this file
sourceFileDir = os.path.dirname(os.path.abspath(__file__))

# [...]

char = pg.image.load(os.path.join(sourceFileDir,'./resouces','mage.png')).convert()