Python 从其他文件夹导入图像

Python 从其他文件夹导入图像,python,pygame,Python,Pygame,我正在使用这段代码导入我希望使用的每个图像: def load_all_graphics(): image_dict = {} for filename in os.listdir("."): name,ext = os.path.splitext(filename) if ext.lower() in [".png",".jpg",".bmp"]: image = pg.image.load(filename).conve

我正在使用这段代码导入我希望使用的每个图像:

def load_all_graphics():
    image_dict = {}
    for filename in os.listdir("."):
        name,ext = os.path.splitext(filename)
        if ext.lower() in [".png",".jpg",".bmp"]:
            image = pg.image.load(filename).convert_alpha()
            image.set_colorkey(pg.Color("black"))
            image_dict[name] = image
    return image_dict

IMAGES = load_all_graphics()   
它正在为我的应用程序工作,但是下一步我要做的是将图像放在一个单独的文件夹中,我知道我需要更改listdir,我已经尝试将其更改为包含我的图像的文件夹-资源,但是它无法打开图像

任何帮助都将不胜感激

文件名只是相对于您查找文件的目录的文件名。如果不提供文件的完整路径,脚本将尝试打开相对于当前目录的文件,而文件位于另一个目录中

解决方案:使用os.path.join创建文件的完整路径,如:

def load_all_graphics(dirname):
  image_dict = {}
  for filename in os.listdir(dirname):
    name,ext = os.path.splitext(filename)
    if ext.lower() in [".png",".jpg",".bmp"]:
      pathname = os.path.join(dirname, filename)
      image = pg.image.load(pathname).convert_alpha()
      image.set_colorkey(pg.Color("black"))
        image_dict[name] = image
  return image_dict

IMAGES = load_all_graphics("/path/to/resources") 
print len(IMAGES)

我使用C:\\Users\\James\\Desktop\\Nova\\Resources\作为完整的目录名,但它仍然无法打开图像。@NezamiZeo:这仍然是相同的错误吗?顺便说一句,我在回答中输入了一个错误:当然,在构建它之后需要将路径名传递到pg.image.load,而不是文件名:-/fixed now