Raspberry pipygame打不开image.PNG

Raspberry pi pygame can't open image.PNG

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

pygame.error: Couldn't open 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时,它指定了图片的路径。

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

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

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

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

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

祝你好运!