@fqsas

AttributeError: 'NoneType' object has no attribute 'open'. Ошибка возникает на 23 строке. Как исправить?

from PIL import Image
from PIL import ImageFilter
def ImageEditor(filename):
    def __init__(self, filename):
        self.filename = filename
        self.original = None
        self.changed = list()
    def open(self):
        try:
            self.original = Image.open(self.filename)      
        except:
            print('Файл не знайдено!')
        self.original.show()
    def do_bw(self):
        gray = self.original.convert('L')
        self.changed.append(gray)
        gray.save('gray.jpg')
    def do_BLURE(self):
        blure = self.original.filter(ImageFilter.BLURE)
        self.changed.append(blure)
        blure.save('blure.jpg')
MyImage = ImageEditor('original.jpg')
MyImage.open()
MyImage.do_bw()
MyImage.do_BLURE()
  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Хотели создать класс, а создали функцию

def ImageEditor(filename):
заменить на
class ImageEditor:
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Вы смешали людей и лошадей:
def ImageEditor(filename):
а нужно всего лишь заменить def на class( и убрать из filename, так как Python будет думать что класс ImageEditor наследуется от filename).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы