图像未从同一目录中的文件加载,Pygame、python
Image not loading from file within same directory, Pygame, python
我目前正在尝试在 pygame 屏幕上显示图像,但我一直被告知我的图像不在目录中。也许我可以被证明是错误的,但我非常有信心图像位置在同一个目录中,并且我的代码一定有问题,所以它无法获取它。回溯错误是:
FileNotFoundError: No file 'Assets\gold_star.png' found in working directory
'C:\Users\PycharmProjects\eyegame'
我已经粘贴了下面的代码:
WIDTH,HEIGHT = 750,600
WIN = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Eye Reaction App !")
WHITE = (250, 250, 250)
FPS = 60
GOLD_STAR_IMAGE = pygame.image.load(
os.path.join('Assets', 'gold_star.png'))
GREEN_TRIANGLE_IMAGE= pygame.image.load(
os.path.join('Assets','green_triangle.png'))
LIGHT_BLUE_RECTANGLE_IMAGE = pygame.image.load(
os.path.join('Assets','light_blue_rectanhle.png'))
ORANGE_SQUARE_IMAGE = pygame.image.load(
os.path.join('Assets','orange_square.png'))
PURPLE_HEXAGON_IMAGE = pygame.image.load(
os.path.join('Assets','purple_hexagon.png'))
RED_CIRCLE_IMAGE = pygame.image.load(
os.path.join('Assets','red_circle.png'))
def draw_window():
WIN.fill(WHITE)
WIN.blit(GOLD_STAR_IMAGE, (300,100))
pygame.display.update()
def main():
clock = pygame.time.Clock()
run = True
while run:
clock.tick(FPS)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
draw_window()
pygame.quit()
if __name__ == "__main__":
main()
将文件放在同一目录或子目录中是不够的。您还需要设置工作目录。
资源(图像、字体、声音等)文件路径必须相对于当前工作目录。工作目录可能与 python 脚本的目录不同。
将以下内容放在代码的开头,以将工作目录设置为与脚本目录相同:
import os
os.chdir(os.path.dirname(os.path.abspath(__file__)))
见__file__
and os.chdir()
我目前正在尝试在 pygame 屏幕上显示图像,但我一直被告知我的图像不在目录中。也许我可以被证明是错误的,但我非常有信心图像位置在同一个目录中,并且我的代码一定有问题,所以它无法获取它。回溯错误是:
FileNotFoundError: No file 'Assets\gold_star.png' found in working directory
'C:\Users\PycharmProjects\eyegame'
我已经粘贴了下面的代码:
WIDTH,HEIGHT = 750,600
WIN = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("Eye Reaction App !")
WHITE = (250, 250, 250)
FPS = 60
GOLD_STAR_IMAGE = pygame.image.load(
os.path.join('Assets', 'gold_star.png'))
GREEN_TRIANGLE_IMAGE= pygame.image.load(
os.path.join('Assets','green_triangle.png'))
LIGHT_BLUE_RECTANGLE_IMAGE = pygame.image.load(
os.path.join('Assets','light_blue_rectanhle.png'))
ORANGE_SQUARE_IMAGE = pygame.image.load(
os.path.join('Assets','orange_square.png'))
PURPLE_HEXAGON_IMAGE = pygame.image.load(
os.path.join('Assets','purple_hexagon.png'))
RED_CIRCLE_IMAGE = pygame.image.load(
os.path.join('Assets','red_circle.png'))
def draw_window():
WIN.fill(WHITE)
WIN.blit(GOLD_STAR_IMAGE, (300,100))
pygame.display.update()
def main():
clock = pygame.time.Clock()
run = True
while run:
clock.tick(FPS)
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
draw_window()
pygame.quit()
if __name__ == "__main__":
main()
将文件放在同一目录或子目录中是不够的。您还需要设置工作目录。
资源(图像、字体、声音等)文件路径必须相对于当前工作目录。工作目录可能与 python 脚本的目录不同。
将以下内容放在代码的开头,以将工作目录设置为与脚本目录相同:
import os
os.chdir(os.path.dirname(os.path.abspath(__file__)))
见__file__
and os.chdir()