Pygame加载图片报FileNotFoundError及终端路径问题求助
解决Pygame文件找不到与终端路径切换问题
一、修复Pygame图片加载的工作目录问题
你的核心问题是Python脚本的工作目录不是代码所在文件夹,而是PowerShell的默认目录(C:\WINDOWS\System32\WindowsPowerShell\v1.0)。直接用相对路径或手动写完整路径容易出错,建议通过代码强制切换到脚本所在目录:
- 先导入
os模块,在脚本开头添加:
import os
- 添加代码切换工作目录到当前脚本所在文件夹:
# 获取当前脚本所在的文件夹路径 script_dir = os.path.dirname(os.path.abspath(__file__)) # 切换工作目录到脚本文件夹 os.chdir(script_dir)
- 之后再用相对路径加载图片,就能正确找到
images/vita_00.png了。
修改后的完整代码:
import pygame import os # 切换工作目录到脚本所在文件夹 script_dir = os.path.dirname(os.path.abspath(__file__)) os.chdir(script_dir) # constant variables SCREEN_SIZE = (700, 500) DARK_GREY = (50, 50, 50) # init pygame.init() screen = pygame.display.set_mode(SCREEN_SIZE) pygame.display.set_caption('My Platformer') # player - 现在相对路径能正确找到文件 player_image = pygame.image.load('images/vita_00.png') running = True while running: # game loop # input for event in pygame.event.get(): print(event) if event.type == pygame.QUIT: running = False # update # draw screen.fill(DARK_GREY) screen.blit(player_image, (0, 0)) pygame.display.flip() # quit pygame.quit()
二、修复终端cd命令找不到路径的问题
你的路径包含空格和方括号,属于特殊字符,直接输入会被终端拆分识别。解决方法是给路径套上双引号:
cd "c:\Programing\Coding\Python\Python3\Tutorial\Developing a Platformer [Rik Cross]\platformer"
这样终端就能正确识别整个路径了。
内容的提问来源于stack exchange,提问作者The_Ginger_Donkey
相关产品推荐
相关产品推荐

