Python 使用pygame.image.load()时出错
当我尝试在另一个文件夹中加载图像时,我得到 pygame.error:无法打开sprites/testtile.png 如果.png文件在同一个目录中,我可以很好地加载它们,但是一旦它们在另一个文件夹中,我就会遇到这个错误 我知道python也可以访问另一个文件夹,因为我从文件夹中导入.py文件时不会出错 当我尝试pygame.image.get_extended时,它返回一个0,但是从同一目录加载.png文件不会给我带来任何问题,所以我不认为这是导致此问题的原因 顺便说一句,我正在运行PyCharm,像这样的事情似乎总是给我这个IDE带来麻烦。我甚至不认为这是一个游戏问题。现在不知道该怎么办 文件夹结构: 脚本/GraphicsDriver.py sprites/testtile.pngPython 使用pygame.image.load()时出错,python,pygame,pycharm,Python,Pygame,Pycharm,当我尝试在另一个文件夹中加载图像时,我得到 pygame.error:无法打开sprites/testtile.png 如果.png文件在同一个目录中,我可以很好地加载它们,但是一旦它们在另一个文件夹中,我就会遇到这个错误 我知道python也可以访问另一个文件夹,因为我从文件夹中导入.py文件时不会出错 当我尝试pygame.image.get_extended时,它返回一个0,但是从同一目录加载.png文件不会给我带来任何问题,所以我不认为这是导致此问题的原因 顺便说一句,我正在运行PyCh
驱动程序正在尝试访问testile.png文件是否在GraphicsDriver.py目录中的精灵目录?PyGame图像加载程序可能会遇到一些问题。它在PyGame初始化时所在的目录中查找文件。使用“os.path.join”将其指向文件的绝对路径 不过,我通常会围绕它编写自己的小型图像加载器,因为它为处理过程提供了更多的灵活性。类似这样的内容将返回图像和rect:
def load_image(name, colorkey = None):
"""loads an image and converts it to pixels. raises an exception if image not found"""
fullname = os.path.join('data', name)
try:
image = pygame.image.load(fullname)
except pygame.error, message:
print 'Cannot load image:', name
raise SystemExit, message
image = image.convert()
# set the colorkey to be the color of the top left pixel
if colorkey is not None:
if colorkey is -1:
colorkey = image.get_at((0,0))
image.set_colorkey(colorkey, RLEACCEL)
return image, image.get_rect()
希望这会有所帮助 谢谢你的帮助。我实现了您的方法,并将其作为“testtile,testtile\u rect=load\u image('testtile.png')”运行。这返回了“无法打开数据\testtile.png”和“无法加载图像:testtile.png”fullname=os.path.join('data',name)可以更改为fullname=os.path.join('sprites',name),抱歉造成混淆。我从我的一个脚本中提取了这段代码,我在数据目录中有我的图像。是的,我在那里尝试了几个不同的目录,我认为数据是一个占位符。不幸的是,它仍然返回相同的错误。它返回两个错误,其中一个是“无法加载图像:testtile.png”。这与常规导入方法的基本错误相同。因此,我认为这与您的方法或它修复的内容无关。嗯,GraphicsDriver是在初始化PyGame,还是另一个脚本在这样做?我给你的代码将从初始化脚本往下看,而不是向上看。尝试使用完整的图像路径,比如fullname=C:\My\u game\sprites\testtile.png,显然会将路径更改为实际所在的位置。