树莓派pygame无法打开image.PNG

时间:2020-12-21 15:02:02

标签: python pygame raspberry-pi

我使用带触摸屏的 Raspberry Pi 4 B。作为操作系统,我使用带有桌面的 Raspberry Pi 操作系统。我目前正在研究数字助理。我在 Windows PC 上编写了代码,但想在我的 Raspberry pi 上运行该助手。但是当我启动程序时,我收到以下错误:

<块引用>

pygame.error: 无法打开 image.PNG

由于这是一个更大的项目,我将尝试仅向您展示与 GUI 相关的代码:

import pygame
pygame.init()
clock = pygame.time.Clock()
screen = pygame.display.set_mode([800, 480])
pygame.display.set_caption('P.I.A.')
screen_icon = pygame.image.load('image.PNG')
pygame.display.set_icon(screen_icon)

image.PNG 与程序本身在同一目录中。真正困扰我的是代码在我的 Windows PC 上完美运行,而在我的 raspberry pi 上根本不起作用。 我可以使用图像查看程序打开 image.PNG。

我尝试将 PNG 切换为 JPG,并且还更改了 PNG 的名称。两者都不起作用。

有什么想法可以解决这个问题吗?

编辑: 我现在还尝试更改工作目录并尝试使用 os.path.join()。两者都不起作用。唯一的区别是它指定了我使用选项2时图片所在的路径。

1 个答案:

答案 0 :(得分:0)

我建议您尝试将文件的相对路径更改为绝对路径。例如:pygame.image.load('/home/user/Desktop/image.PNG')

在 Linux 中处理文件时,标准命名约定是小写文件扩展名:“.png”、“.jpg”。等等。我会检查文件名和您的 .load 是否以小写“.png”结尾。

此外,如果您从命令行运行脚本,请确保您与脚本和图像位于同一目录中。根据您的设置,如果您在 /home 目录中,并在 /home/username/Desktop 上运行脚本,例如 /home/username/Desktop/coolgame.py,那么该脚本可能会在您的 /home 目录中查找文件。

如果这些都不奏效,调试文件/目录错误时最容易做的事情就是看一眼程序的确切位置。在您运行 image.load 之前,请在您仍在程序中时查看工作目录中的所有文件。最简单的方法可能是os.listdir(dir)。我会推荐这样的东西:

pygame.display.set_caption('P.I.A.')
import os
print(os.listdir('.'))
screen_icon = pygame.image.load('image.PNG')

祝你好运!