繁体   English   中英

使用Pygame加载子文件夹中的图像

[英]Load an image that is in a subfolder using Pygame

我在名为“ Project”的文件夹中有一个Pygame项目。 这是我的代码和另一个名为“ Images”的文件夹。 我想在“ Images”文件夹中加载图像,但是每次尝试加载时都会出现错误,提示:

pygame.error:无法打开Images / Frame1.png

我试过使用:

image = pygame.image.load("Frame1.png")

image = pygame.image.load("Images/Frame1.png")image = pygame.image.load("Images/Frame1.png").convert()image = pygame.image.load("Images/Frame1.png").convert_alpha()

记住,我只导入了Pygame模块。

上面的所有代码都带有相同的错误。 我正在使用Mac OSX的Python v3.7.3。 任何帮助将不胜感激。

尝试导入os库并使用image = pygame.image.load(os.path.join(os.path.dirname(__file__), 'Images','Frame1.png')).convert_alpha() 当我做自己的pygame项目时,这对我有用。

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

可以通过以下方法调查差异:

import os

currentWorkDir = os.getcwd()
print(currentWorkDir)

sourceFileDir = os.path.dirname(os.path.abspath(__file__))
print(sourceFileDir)

另请参阅与导入相关的模块属性

应用程序可以更改当前工作目录,使其与python源文件目录相同:

import os

sourceFileDir = os.path.dirname(os.path.abspath(__file__))
os.chdir(sourceFileDir)

加载图像文件时,也可以使用绝对路径代替更改工作目录。 连接文件目录和相对图像文件路径:

sourceFileDir = os.path.dirname(os.path.abspath(__file__))
image = pygame.image.load(os.path.join(sourceFileDir, "Images", "Frame1.png"))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM