Pygame加载同目录图片报错Couldn't open无法读取文件求助
问题原因
- 路径转义错误:普通字符串中反斜杠
\是转义字符,你代码里路径中的\2021会被Python解析为八进制转义序列,导致实际生成的路径和你预期的不一致,这也是报错信息里路径异常出现pythonProjects1的核心原因。就算后续使用了原始字符串,硬编码路径依然存在换运行环境就失效的问题。 - 工作目录依赖脆弱:你当前的工作目录是上层的
pythonProjects,硬编码相对路径的方式容错性极低,只要启动脚本的目录发生变化就会加载失败。
解决方案
优先使用脚本所在目录定位资源,完全不需要依赖工作目录,也不需要写长串路径,仅修改图片加载部分的代码即可:
# 获取当前脚本所在目录的绝对路径 base_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接图片路径,car.jpg和脚本同目录的话直接填入文件名即可 img_path = os.path.join(base_dir, 'car.jpg') penisimage = pygame.image.load(img_path)
如果你坚持要基于当前工作目录写相对路径,需要修正路径写法:你当前写的r".\pythonProjects\2021\penisRacingGame\car.jpg"是错误的,因为工作目录已经是pythonProjects,不需要再加一层pythonProjects目录,正确写法为r".\2021\penisRacingGame\car.jpg"。
验证方法
可以额外加一行打印代码确认路径正确性:
print("实际加载的图片路径:", os.path.abspath(img_path))
把打印出来的路径复制到文件资源管理器地址栏,确认可以正常打开对应图片,就说明路径配置没有问题。
内容的提问来源于stack exchange,提问作者yeetybois69
相关产品推荐
相关产品推荐

