Запомнить результат выполнения функции
У меня есть функция, которая возвращает из БД определенный список значений (перечисление ошибок)
def check():
conn = create_connection()
cursor = conn.cursor()
query = 'select name from errors'
cursor.execute(query)
results = cursor.fetchall()
conn.close()
return results
Результат этой функции в дальнейшем обрабатывается (вырезаются ненужные символы)
def qwert():
results = connect_db.check()
clear_list = []
if results:
for row in results:
row = str(row)
cleared_str = re.sub("[(|'|)|,]", "", row)
clear_list.append(cleared_str)
output = f'Мы получили значения {clear_list}'
return output
Далее output просто выводится на экран.
print(qwert())
Функция получения данных из БД вызывается каждую минуту. Соответственно, ошибки, вернувшиеся при первом вызове, будут возвращаться каждый раз, пока их не устранят. Вопрос: как можно учесть (мб записать куда-то) полученные ранее значения ошибок, и не передавать их дальше на обработку? Цель: вывести сообщение, что есть вот такие ошибки. Когда они устранены - вывести сообщение о том, что они устранены. Но до тех пор, пока они повторно возвращаются запросом из БД, игнорировать их.
Ответы (1 шт):
Решил проблему через запись списка ошибок в файл. Далее при каждом вызове функции qwert сравниваю список, вернувшийся из БД, со списком из файла. Для сравнения списков использовал п.2 и п.5 https://pythonim.ru/list/kak-sravnit-dva-spiska-v-python