python при вызове переменной из self появляется ошибка AttributeError
Когда я пытаюсь вызвать переменную 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
Источник: Stack Overflow на русском