Pygame: 无法打开文件。同一目录

Pygame: Couldn't open file. Same directory

我将 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))

感谢您的帮助!


错误在于您的 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 性能。