@MrDlop
I love C++

ValueError: I/O operation on closed file. Как исправить?

Моя программа
elif message.text.lower() == 'счетчик холодной воды':
        for line in id_chat_1:
            a0 = a0 + 1
            if int(line) == int(message.from_user.id):
                break
        with open("./Meters/b3.txt", "r") as file:
            data = file.readlines()
            b3 = int(data[a0])
        if days == 1:
            bot.send_message(message.chat.id, "У вас остался " + days2 + " день", reply_markup=keyboard8)
            if b3 == 0:
                bot.send_message(message.chat.id,
                                 "Для коректной работы функции, отправьте в сообщении показания счетчика за прошлый месяц.")
                bot.register_next_step_handler(message, cold_water_meter1)
            else:
                bot.send_message(message.chat.id, "Скиньте показания счетчика")
                bot.register_next_step_handler(message, cold_water_meter1)
                break

Она выдает ошибку
ошибка
2020-10-19 11:40:55,499 (util.py:75 WorkerThread1) ERROR - TeleBot: "ValueError occurred, args=('I/O operation on closed file.',)
Traceback (most recent call last):
  File "C:\Program Files\Python38\lib\site-packages\telebot\util.py", line 69, in run
    task(*args, **kwargs)
  File "D:/Emil Programm/Telegram_bot/hks_bot_telegram.py", line 483, in meter_reading
    for line in id_chat_1:
ValueError: I/O operation on closed file.
"
Traceback (most recent call last):
  File "D:/Emil Programm/Telegram_bot/hks_bot_telegram.py", line 1223, in <module>
    bot.polling()
  File "C:\Program Files\Python38\lib\site-packages\telebot\__init__.py", line 427, in polling
    self.__threaded_polling(none_stop, interval, timeout)
  File "C:\Program Files\Python38\lib\site-packages\telebot\__init__.py", line 451, in __threaded_polling
    self.worker_pool.raise_exceptions()
  File "C:\Program Files\Python38\lib\site-packages\telebot\util.py", line 118, in raise_exceptions
    six.reraise(self.exc_info[0], self.exc_info[1], self.exc_info[2])
  File "C:\Program Files\Python38\lib\site-packages\six.py", line 703, in reraise
    raise value
  File "C:\Program Files\Python38\lib\site-packages\telebot\util.py", line 69, in run
    task(*args, **kwargs)
  File "D:/Emil Programm/Telegram_bot/hks_bot_telegram.py", line 483, in meter_reading
    for line in id_chat_1:
ValueError: I/O operation on closed file.

Как это исправить?
  • Вопрос задан
  • 154 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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