Чтение файла. Python

Всем привет, есть файл, который в себе содержит строку: "Device Temperature: 43 °C, CPU Load: 8 %, Device Name: KRK Switch to KPP3" нужно исправить код:

  1. Прога сидит в трее с часами
  2. у проги всего две настройки (критичная температура, путь к файлам(из нескольких источников))
  3. при превышении критичной температуры поверх всех окон на экран (прям на пол экрана) выводится сообщение аларм. в аларме должна писатся температура , имя девайса (это все есть в файле) введите сюда описание изображения

Вот то, что я написал, но не выводит почему-то ничего. Все библиотеки импортированы, файл тоже в корень проекта запихнул. Ошибок не видит pycharm.

import os
import time
import tkinter as tk
import random

# Путь к файлу с данными о температуре
TEMP_FILE_PATH = "temp.txt"

# Критическая температура, при превышении которой нужно выводить сообщение
CRITICAL_TEMP = 50

# Функция для чтения данных из файла
def read_temp_file():
    with open(TEMP_FILE_PATH, "r") as file:
        data = file.read()
    return data

# Функция для получения значения температуры из строки данных
def get_temp_from_data(data):
    temp_str = data.split(",")[0].split(":")[1].strip()
    temp = int(temp_str[:-2])
    return temp

# Функция для получения имени устройства из строки данных
def get_device_name_from_data(data):
    device_name = data.split(",")[2].split(":")[1].strip()
    return device_name

# Функция для вывода сообщения об аварийной температуре
def show_alarm_message(temp, device_name):
    root = tk.Tk()
    # root.withdraw()
    message = f"Device: {device_name}\nTemperature: {temp}°C\nCritical temperature exceeded!"
    w = root.winfo_screenwidth()
    h = root.winfo_screenheight()
    x = w // 2 - 150
    y = h // 2 - 75
    root.geometry(f"300x150+{x}+{y}")
    root.title("Temperature Alarm")
    label = tk.Label(root, text=message, font=("Arial", 20), fg="red")
    label.pack(expand=True, fill=tk.BOTH)
    root.mainloop()


# Основной цикл программы
while True:
    # Читаем данные из файла
    data = read_temp_file()

    # Получаем значения температуры и имени устройства
    temp = get_temp_from_data(data)
    device_name = get_device_name_from_data(data)

    # Если температура превышает критическую, выводим сообщение
    if temp > CRITICAL_TEMP:
        show_alarm_message(temp, device_name)

    # Ждем 10-30 секунд
    time.sleep(10 + 20 * random.random())

Условие выполняется же, так как я поставил в переменную температуры: 50, а в файлике 43 стоит. Не понимаю, в чем проблема...

# Если температура превышает критическую, выводим сообщение
    if temp > CRITICAL_TEMP:
        show_alarm_message(temp, device_name)

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