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

时间:2017-11-12 00:16:05

标签: python pygame pygame-surface

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

感谢您的帮助!

1 个答案:

答案 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性能。