Pygame调用image.load加载图片报FileNotFoundError如何解决
问题原因
触发该FileNotFoundError的核心原因有两个:
pygame.image.load()仅接收一个完整文件路径字符串作为加载参数,你当前写的pygame.image.load("Images", "boss.png")传入了两个独立参数,函数会直接把第一个入参"Images"识别为待加载的目标文件路径,自然找不到对应文件。- 直接写裸相对路径存在兼容隐患:一方面不同操作系统的路径分隔符不统一,另一方面PyCharm如果工作目录配置错误,会导致相对路径的解析基准错位,就算参数写对也可能找不到文件。
修复步骤
- 第一步:修正路径加载逻辑
不要手动拼接路径字符串,用Python标准库os模块做跨平台路径拼接,以当前代码文件main.py的所在位置为基准找素材,彻底避免工作目录偏差问题。
先在文件开头导入依赖:
替换原来加载图标的错误代码:import os import pygame# 获取main.py文件本身的绝对所在目录作为路径基准 BASE_PATH = os.path.dirname(os.path.abspath(__file__)) # 拼接得到boss.png的完整绝对路径 icon_path = os.path.join(BASE_PATH, "Images", "boss.png") icon = pygame.image.load(icon_path) # 后续正常调用设置图标即可:pygame.display.set_icon(icon) - 第二步:排查目录配置与文件实际位置
- 打开PyCharm右上角运行配置下拉栏,选择
Edit Configurations,找到当前运行的main.py配置项,检查Working directory配置值是否为项目根目录C:\Users\willi\PycharmProjects\Pygame Testing,如果存在偏差手动修改到该目录后保存配置。 - 直接打开资源管理器进入
C:\Users\willi\PycharmProjects\Pygame Testing\Images目录,确认boss.png直接存放在该目录下:注意Windows默认隐藏已知文件扩展名,很容易出现文件实际名为boss.png.png的命名错误,建议暂时打开资源管理器的「文件扩展名」显示选项核对真实文件名。
- 打开PyCharm右上角运行配置下拉栏,选择
内容的提问来源于stack exchange,提问作者WilliamTheProgrammer
相关产品推荐
相关产品推荐

