从另一个文件夹导入图像
Importing Images from Another Folder
我正在使用这段代码导入我希望使用的每张图片:
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",我已经尝试将其更改为包含我的图像的文件夹 -(资源)但是它变得无法打开图像。
如有任何帮助,我们将不胜感激!
filename
只是相对于您查找文件的目录的文件名。如果您没有给出文件的完整路径,脚本将尝试打开相对于当前目录的文件,而文件位于另一个目录中。
解决方案:使用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)
我正在使用这段代码导入我希望使用的每张图片:
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",我已经尝试将其更改为包含我的图像的文件夹 -(资源)但是它变得无法打开图像。
如有任何帮助,我们将不胜感激!
filename
只是相对于您查找文件的目录的文件名。如果您没有给出文件的完整路径,脚本将尝试打开相对于当前目录的文件,而文件位于另一个目录中。
解决方案:使用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)