Задать вопрос
@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()
  • Вопрос задан
  • 269 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Хотели создать класс, а создали функцию

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

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

Похожие вопросы