Pygame: не удалось открыть файл. Тот же каталог

Я загрузил 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 ответ

Решение

Ошибка в том, что ваш 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) загрузить изображение с жесткого диска и добавить полученную поверхность в список:

images = []

for artwork in artfile_names:
    images.append(pygame.image.load(artwork).convert())

Позвоните .convert() метод (или .convert_alpha() для изображений с прозрачностью), чтобы улучшить производительность блиц.

Другие вопросы по тегам