Python-错误:无法打开.png文件[重复]

2024-04-30

不确定我做错了什么,我正在遵循有关如何使用 Python 和 PyGame 制作游戏的教程,但收到错误:

 pygame.error: Couldn't open resources/images/dude.png    

我的代码如下:

import pygame
from pygame.locals import *


pygame.init()
width, height = 640, 480
screen=pygame.display.set_mode((width,height))

player = pygame.image.load("resources/images/dude.png")

while 1:

    screen.fill(0)

    screen.blit(player, (100,100))

    pygame.display.flip()

    for event in pygame.event.get():


        if event.type==pygame.QUIT:
            pygame.quit()
            exit(0)

完整的错误消息是:

ALSA lib confmisc.c:768:(parse_card) cannot find card '0'
ALSA lib conf.c:4292:(_snd_config_evaluate) function
snd_func_card_driver  returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_concat
returned error: No such file or directory
ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name
ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_refer
returned error: No such file or directory
ALSA lib conf.c:4771:(snd_config_expand) Evaluate error: No such file  or
directory
ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM default
Traceback (most recent call last):
  File "/root/Documents/PyGame/game.py", line 9, in <module>
    player = pygame.image.load("resources/images/dude.png")
pygame.error: Couldn't open resources/images/dude.png

使用相对路径代替(这样做总是更好):

import os

current_path = os.path.dirname(__file__) # Where your .py file is located
resource_path = os.path.join(current_path, 'resources') # The resource folder path
image_path = os.path.join(resource_path, 'images') # The image folder path

通过执行此操作,无论您将包含您的文件夹的文件夹移动到何处,.py文件及其子目录(以及它们包含的任何内容)仍然可以访问,而无需修改代码。


最终代码:

import pygame
import os
from pygame.locals import *


pygame.init()

width, height = 640, 480
screen = pygame.display.set_mode((width, height))

current_path = os.path.dirname(__file__) # Where your .py file is located
resource_path = os.path.join(current_path, 'resources') # The resource folder path
image_path = os.path.join(resource_path, 'images') # The image folder path

player_image = pygame.image.load(os.path.join(image_path, 'dude.png'))

while 1:

    screen.fill(0)

    screen.blit(player, (100,100))

    pygame.display.flip()

    for event in pygame.event.get():


        if event.type==pygame.QUIT:
            pygame.quit()
            exit(0)

对所有其他文件使用这种访​​问方法,您将避免很多问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python-错误:无法打开.png文件[重复] 的相关文章

  • 使用 pythonw.exe 时 Python subprocess.call() 失败

    我有一些 Python 代码 当我使用 python exe 运行时可以正常工作 但如果我使用 pythonw exe 则失败 def runStuff commandLine outputFileName somefile txt out
  • 使用 mmap 将正则表达式应用于整个文件

    我正在尝试使用以下代码将正则表达式应用于整个文件 不仅仅是每一行 import mmap re ifile open ifilename data mmap mmap ifile fileno 0 print data mo re sear
  • 分页后重新显示当前标题

    我正在使用 Wea syPrint 创建文档 我有一些带有名称的部分 其中一些可能跨越多个页面 当节太长时 就会出现分页符 我想做的是重新显示当前部分的名称 最好使用相同的格式 以下 MWE 显示了分页符后如何不显示节标题 h1 First
  • Python 中的 if len(list)

    我正在将 Python 代码转换为 C 代码 以便利用 HPC 系统上可用的并行性 最初的程序员在 Python 中使用了一个令我困惑的条件 if rnum lt gt current res alim 0 if len f alim f
  • 从 STEP 文件中提取体积

    我的目标是编写一个Python程序来提取物体的体积STEP文件 我找到了步骤实用程序 https pypi org project steputils and 奥交换 https pypi org project aocxchange 是
  • 当存在多个条件时替换 numpy 数组中的元素

    这个问题与以下帖子相关 如果满足条件则替换 Numpy 元素 https stackoverflow com questions 19766757 replacing numpy elements if condition is met 假
  • 如何在 Windows 和 Python 2.7 上模拟 os.path.samefile 行为?

    给定两个路径 我必须比较它们是否指向同一个文件 在 Unix 中 这可以通过以下方式完成os path samefile 但正如文档所述 它在 Windows 中不可用 模拟此功能的最佳方法是什么 它不需要模拟常见情况 就我而言 有以下简化
  • 如何在 SQLAlchemy 中连接两个表中的数据?

    我有3张桌子 Account User and Organization Account由组成id name and organization id User由组成email and organization id Organization
  • Anaconda / 求解环境:初始冻结求解失败。使用灵活的求解重试

    我尝试安装 anaconda 软件包 出现以下消息 求解环境 初始冻结求解失败 使用灵活的解决方案重试 解决环境 current repodata json 中的 repodata 失败 将使用下一个 repodata 源重试 收集包元数据
  • 求 Petersen 子图中的哈密顿路径

    我开始使用 IDE Jupyter Python 3 6 并出现了一个问题 我必须通过IDE绘制Petersen子图中的哈密顿路径 但我不知道该怎么做 我显示有关该图的信息 彼得森图 https en wikipedia org wiki
  • 使用Python下载YouTube视频到某个目录

    我已尝试使用以下代码在 YouTube 中下载视频并且它可以正常工作 但我想将视频保存在特定位置 现在它正在将视频保存在C Users Download 如果我想将视频保存在桌面上 我需要对代码进行哪些更改 from future impo
  • 将多种类型存储为 C++ 字典中的值?

    我想编写一个行为几乎等同于 Python 字典的 C 对象 C 的std map and std unordered map容纳了 Python 字典已有的一些功能 但缺乏最重要的功能之一 即能够添加任意对象和类型 即使不可能 您离实现 P
  • 使用 range/arange 函数作为参数对 2d numpy 数组进行索引/切片

    我对 numpy 有一个基本的疑问 我在 Ubuntu 14 04 上使用 Python 2 7 numpy 1 9 2 例如 我将 2d numpy 数组初始化为a np zeros 10 10 然后 我尝试通过以下方式使用范围函数作为索
  • 将字符转换为日期时间 odoo 9

    我有两个字符字段 从 odoo 中的 excel 或 csv 导入数据 time 1 fields Char string Time 1 time 2 fields Char string Time 2 result fields Floa
  • 从另一个未排序的numpy数组中的数据查找未排序的numpy数组中值的索引位置[重复]

    这个问题在这里已经有答案了 我有一个 numpy 数组 A 其中包含可以按任何顺序排列的唯一 ID 例如A 1 3 2 我有第二个 numpy 数组 B 它记录了 ID 何时被使用 例如B 3 3 1 3 2 1 2 3 1 1 2 3 3
  • 尝试使用 Paramiko 通过 SSH 连接到新的 EC2 实例时出现问题

    我正在编写一个脚本 该脚本使用 boto 启动一个新的 EC2 实例 并使用 Paramiko SSH 客户端在该实例上执行远程命令 无论出于何种原因 Paramiko 客户端无法连接 我收到错误 Traceback most recent
  • Django:503 服务不可用

    Related 我对 Python 及其框架完全陌生 在学习了一些 Python 基础知识后 我只是尝试一下 Django Problem 现在我正在尝试在第一次安装后运行 Django 服务器 服务器运行没有任何错误 但是当我尝试访问该网
  • 导入不起作用

    我有两个文件说a py and b py 在 a py 中 我们的确是 import xxx from b import 在 b py 中我们有一个函数需要module xxx 现在当函数在b py被调用自a py它找不到模块xxx 为什么
  • 真实文件对象比 StringIO 和 cStringIO 慢?

    StringIO其代码中有以下注释 Notes Using a real file is often faster but less convenient There s also a much faster implementation
  • 访问 django for 循环中的元素

    我有一个 Django 模板 其中包含以下代码 该模板创建多个按钮并尝试通过单击 在同一按钮上 删除 隐藏其中一个按钮 for h in helicopters div class btn group div

随机推荐