&引用;FileNotFoundError";为Python导入PNG文件时

&引用;FileNotFoundError";为Python导入PNG文件时,python,pygame,Python,Pygame,我正在学习一个关于太空入侵者的基本pygame教程,结果我一大早就尴尬地被卡住了。每当我尝试从资产文件夹导入文件时(是的,它与代码位于同一目录中),我都会遇到filenotfound错误。这是我的密码 import pygame import os import time import random RED_SPACE_SHIP = pygame.image.load(os.path.join("assets", 'pixel_ship_red_small.png'))

我正在学习一个关于太空入侵者的基本pygame教程,结果我一大早就尴尬地被卡住了。每当我尝试从资产文件夹导入文件时(是的,它与代码位于同一目录中),我都会遇到filenotfound错误。这是我的密码

import pygame
import os
import time
import random



RED_SPACE_SHIP = pygame.image.load(os.path.join("assets", 'pixel_ship_red_small.png'))
GREEN_SPACE_SHIP = pygame.image.load(os.path.join('assets', "pixel_ship_green_small.png"))
BLUE_SPACE_SHIP = pygame.image.load(os.path.join('assets', "pixel_ship_blue_small.png"))
YELLOW_SPACE_SHIP = pygame.image.load(os.path.join('assets', "pixel_ship_yellow.png")) #player ship

RED_LASER = pygame.image.load(os.path.join("assets", "pixel_laser_red.png"))
GREEN_LASER = pygame.image.load(os.path.join("assets", "pixel_laser_green.png"))
BLUE_LASER = pygame.image.load(os.path.join("assets", "pixel_laser_blue.png"))
YELLOW_LASER = pygame.image.load(os.path.join("assets", "pixel_laser_yellow.png"))

BG = RED_SPACE_SHIP = pygame.image.load(os.path.join("assets", "background-black.png"))
我也尝试过做CURRENT_PATH=os.PATH.dirname(“资产”)了

CURRENT_PATH = os.path.dirname("assets")
RED_SPACE_SHIP = pygame.image.load(os.path.join(CURRENT_PATH, 'pixel_ship_red_small.png'))

它真正给我的只是加载时间稍微长一点,结果也一样。

你能检查一下文件大小是否不是零字节吗。下面是我试图演示的代码。我使用了两个图像:
smiley.png
(142461字节)
和一个空图像-
像素(红色)小.png
(0字节)

输出:

pygame 2.0.1 (SDL 2.0.14, Python 3.9.1)
Hello from the pygame community. https://www.pygame.org/contribute.html
size of the file:  142461 bytes
dimensions:  (530, 532)
如果使用空图像,它将抛出以下错误:

import pygame
import os

RED_SPACE_SHIP = pygame.image.load(os.path.join("assets", 'pixel_ship_red_small.png'))
输出:

pygame 2.0.1 (SDL 2.0.14, Python 3.9.1)
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
File "D:\Python\temp.py", line 11, in <module>
RED_SPACE_SHIP = pygame.image.load(os.path.join("assets", 'pixel_ship_red_small.png'))
FileNotFoundError: No such file or directory.
PyGame2.0.1(SDL2.0.14,Python 3.9.1)
大家好,来自pygame社区。https://www.pygame.org/contribute.html
回溯(最近一次呼叫最后一次):
文件“D:\Python\temp.py”,第11行,在
RED\u SPACE\u SHIP=pygame.image.load(os.path.join(“assets”,“pixel\u SHIP\u RED\u small.png”))
FileNotFoundError:没有这样的文件或目录。

是所有文件出现错误,还是其中一个文件出现错误?错误很明显,请检查文件名是否匹配。通常是一些愚蠢的事情,比如下划线实际上是连字符,或者一些字母是大写的……所有这些字母和标题名都出现了错误,我尝试用连字符替换下划线,反之亦然。我甚至试着在最后删除.png,结果都一样。
pygame 2.0.1 (SDL 2.0.14, Python 3.9.1)
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
File "D:\Python\temp.py", line 11, in <module>
RED_SPACE_SHIP = pygame.image.load(os.path.join("assets", 'pixel_ship_red_small.png'))
FileNotFoundError: No such file or directory.