Отправка сообщения в цикле Python

К вопросу прилагаю отрывок из программы. В этом цикле я читаю определённые строчки txt файла. В случае, если строчки пусты, бот присылает сообщение. Проблема в том, что бот присылает сообщение 14 раз, т.е. как-будто на каждую пустую строчку файла. Есть идеи как это можно исправить, т.е. чтобы бот присылал лишь одно сообщение?

with open(f'{call.from_user.id}.txt', 'r', encoding='utf-8') as tasks:
    tasks_in_list = tasks.readlines()[1:15]
    for line in tasks_in_list:
        if line.isspace():
            bot.send_message(call.from_user.id, 'Хмм, кажется этот список пуст!')

Ответы (1 шт):

Автор решения: Dezmonder

У вас каждый шаг цикла проходит проверка, после которой отправляется сообщение. Если надо отправить сообщение один раз, нужно сделать так, чтоб исполнение кода не шло после отправки (как вариант). Например, в вашем случае:

with open(f'{call.from_user.id}.txt', 'r', encoding='utf-8') as tasks:
tasks_in_list = tasks.readlines()[1:15]
for line in tasks_in_list:
    if line.isspace():
        bot.send_message(call.from_user.id, 'Хмм, кажется этот список пуст!')
        return

После проверки, бот оправляет сообщение, а команда return прекращает выполнение метода/функции.

Однако, это, конечно, не единственный метод решения, в зависимости от ваших задач может подойти другое решение

→ Ссылка