我将150个.tif图像加载到glob模块中,目前无法加载它们。我对编程非常陌生,所以我想我错过了一个愚蠢的错误,但我似乎无法弄明白。
代码是:
import pygame, glob
types= ('*.tif')
artfile_names= []
for files in types:
artfile_names.extend(glob.glob(files))
print(artfile_names)
for artworks in artfile_names:
pygame.image.load(str(artfile_names))
感谢您的帮助!
答案 0 :(得分:1)
错误是你的types
变量只是一个字符串(用括号括起来没有效果),所以你迭代字符串中的字母并为每个字母调用artfile_names.extend(glob.glob(files))
。
逗号生成元组(空元组除外):
types = '*.tif', # This gives you a tuple with the length 1.
types = '*.tif', '*.png' # This is a tuple with two elements.
在代码的第二部分中,您需要遍历artfile_names
,调用pygame.image.load(artwork)
以从硬盘加载图像并将生成的surface附加到列表中:
images = []
for artwork in artfile_names:
images.append(pygame.image.load(artwork).convert())
调用.convert()
方法(或.convert_alpha()
以获取透明度的图片)以改善blit性能。