图像未从同一目录中的文件加载,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()