You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pygame中从其他文件夹导入图片?解决文件找不到错误

解决Pygame加载图片的路径问题

问题原因

你用../graphics/test/rock.png出错,大概率是因为运行脚本时的工作目录不是Code文件夹。比如如果在Game目录下执行python Code/Main.py,../会指向Game的上级目录,而非Game本身,自然找不到graphics文件夹。

简便解决方案

方案1:基于脚本文件路径构建(推荐,不受运行目录影响)

利用Python的文件路径工具,根据Main.py的位置自动计算图片路径,不管在哪里运行都能生效:

用os模块(兼容所有Python版本):

import os
import pygame

# 获取Main.py所在的Code目录绝对路径
code_dir = os.path.dirname(os.path.abspath(__file__))
# 拼接并标准化图片路径(自动处理../)
rock_path = os.path.normpath(os.path.join(code_dir, "../graphics/test/rock.png"))
self.image = pygame.image.load(rock_path).convert_alpha()

用pathlib(Python3.4+,更简洁):

from pathlib import Path
import pygame

# 获取Game文件夹的绝对路径(Main.py的父目录的父目录)
game_dir = Path(__file__).parent.parent
rock_path = game_dir / "graphics" / "test" / "rock.png"
self.image = pygame.image.load(rock_path).convert_alpha()

方案2:固定工作目录运行

每次运行脚本前,先切换到Game目录,然后用更短的相对路径:

  1. 终端中进入Game目录:cd /Users/(你的名字)/Documents/PythonProjects/Games/Game
  2. 运行脚本:python Code/Main.py
  3. 加载图片时直接写:
self.image = pygame.image.load("graphics/test/rock.png").convert_alpha()

内容的提问来源于stack exchange,提问作者Quantum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 15:24:15