python - 我似乎无法使用 pygame 打开图像

标签 python windows image pygame

我是 Python 的新手,正在学习如何让 AI 学习玩 Flappy bird 的在线教程。我的问题是我似乎无法使用以下语法加载保存在文件夹中的游戏图像:

BIRD_IMGS = 
[pygame.transform.scale2x(pygame.image.load(os.path.join("imgs","bird1.png"))),
 pygame.transform.scale2x(pygame.image.load(os.path.join("imgs","bird2.png"))),
 pygame.transform.scale2x(pygame.image.load(os.path.join("imgs","bird3.png")))]

我得到的错误如下:

pygame.error: Couldn't open imgs\bird1.png

我的路径是:

C:\Users\Admin\Documents\Web Development\Python\Flappy_Bird_AI\master.py
C:\Users\Admin\Documents\Web Development\Python\Flappy_Bird_AI\imgs\bird1.png

分别为代码和图像。

有人知道我为什么会收到此错误吗?

最佳答案

您可能正在从与具有图像的目录不同的工作目录运行脚本。

您可以执行以下操作以在脚本中动态获取绝对路径

DIR = os.path.dirname(os.path.realpath(__file__))
IMGS_DIR = os.path.join(DIR, "imgs")

BIRD_IMGS = [pygame.transform.scale2x(pygame.image.load(os.path.join(IMGS_DIR,"bird1.png"))),
 pygame.transform.scale2x(pygame.image.load(os.path.join(IMGS_DIR,"bird2.png"))),
 pygame.transform.scale2x(pygame.image.load(os.path.join(IMGS_DIR,"bird3.png")))]

关于python - 我似乎无法使用 pygame 打开图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58862085/

相关文章:

Python解压相对性能?

python - 使用 df.merge 填充 df 中的新列给出奇怪的匹配项

Windows批处理文件循环遍历目录以处理文件?

Windows 批量比较区分大小写的字符串

image - 通过图像减法优化分割算法

python - 在 tkinter 中单击按钮时如何调用或执行新文件

python - 如何根据该类的帮助文件正确组织 Python 类定义?

python - pandas add() 两个具有部分重叠索引的数据帧?

c++ - 来自 CreateWindow/CreateDialog 的 HWND 是否可以从另一个线程获取消息?

python - 使用 OpenCV 提高用稀释墨水书写的几乎不可见的旧文本的对比度和质量