python при вызове переменной из self появляется ошибка AttributeError

Рейтинг: 0Ответов: 0Опубликовано: 01.04.2023

Когда я пытаюсь вызвать переменную self.files в методе scandir класса scanning я получаю ошибку

AttributeError: 'Scanning' object has no attribute 'files'

метод инит создающий переменную:

    # запись переменных
    def __init__(self):
        self.save = save
        self.dir = path
        if save:
            try:
                self.config_file = configparser.ConfigParser()
                self.config_file.read(r"G:\python\sort\property.ini", encoding="UTF-8")
                if self.dir.split('/')[-1] in self.config_file["files_list"].keys():
                    self.files = self.config_file["files_list"][self.dir.split('/')[-1]].split(",")
                else:
                    self.config_file.set("files_list", self.dir.split('/')[-1], ",".join(os.listdir(self.dir)))
                    with open("property.ini", "w", encoding="UTF-8") as ConfigFile:
                        self.config_file.write(ConfigFile)
                    self.files = []
            except:
                logging.critical('ошибка конфиг файла')
        else:
            self.files = []

вот метод вызывающий её:

    def scandir(self):
        # сканирование папки
        new_file = []
        new_file_list = os.listdir(self.dir)
        # проверка на наличие новых файлов
        for file in new_file_list:
            if os.path.isfile(self.dir + "/" + file):  # не является ли файл папкой
                if not self.dir + "/" + file in self.files:  # не является ли файл новым
                    new_file.append(self.dir + "/" + file)
            else:
                fnewfile = self.folder_scan(self.dir + "/" + file)  # отправка папки на распаковку
                if fnewfile is not None:  # добавление новых файлов из папки в общие новые файлы
                    for i in fnewfile:
                        new_file.append(i)

        for i in new_file:
            if i not in self.files:
                self.files.append(i)  # обновление листа файлов
                if self.save:
                    self.config_file["files_list"][self.dir.split('/')[-1]] = ','.join(self.files)
                    with open("property.ini", "w", encoding="UTF-8") as ConfigFile:  # сохранение списка файлов в конфиг
                        self.config_file.write(ConfigFile)

        if len(new_file) != 0:
            return new_file  # return

Ответы

Ответов пока нет.