我使用带触摸屏的 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时图片所在的路径。
答案 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')
祝你好运!