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()
для изображений с прозрачностью), чтобы улучшить производительность блиц.