Python - уведомлять пользователя каждый раз, когда al oop выдает вывод Tkinter? - PullRequest
2 голосов
/ 19 апреля 2020

Я получаю данные API каждые 5 минут и запускаю код Python, чтобы проверить, соответствуют ли входящие данные определенным условиям. Данные в формате JSON, но я преобразовываю их во фрейм данных и выполняю там свои проверки. Если одна из проверок сработает, я бы хотел получить уведомление. Я бы хотел найти быстрый и ресурсосберегающий способ уведомления Python.

  • Я думаю, что не могу использовать "print ()" , поскольку я не буду смотреть Python все время.
  • Я мог бы использовать "data.to_excel" , но мне все равно нужно было открыть окно моей папки и проверить вручную, появляется ли новый файл Excel.
  • Я читал, что Tkinter широко используется для создания нового окна, поэтому я думаю, что это путь к go.

Что будет наиболее эффективным (minimalisti c) ) код для создания окна (предпочтительно одного со звуковым звуком, когда оно появляется ) с одной строкой текста, например «Условие1 / 2/3/4 выполнено, отметка времени, строка»

Спасибо за вашу помощь

Ответы [ 2 ]

1 голос
/ 19 апреля 2020

Вы можете сделать что-то еще проще, чтобы помочь вам уведомить, когда вы что-то получили. Вы можете использовать библиотеку os, чтобы просто открывать файл всякий раз, когда в него что-то печатается. Допустим, вы используете data.to_excel. После этого вы можете просто открыть его. Для этого вы можете просто импортировать os, и функция os.system (path_of_excel_file). На пути вы должны быть осторожны и использовать обратную косую черту для пробелов или других специальных символов.

0 голосов
/ 20 апреля 2020

Использование messagebox может быть очень простым. Минимальный пример:

from tkinter import messagebox
import time
import tkinter as tk

root = tk.Tk()
info = "what"
root.withdraw()
if condition:
    messagebox.showinfo("title",f"Condition-1 fulfilled time:{time.strftime('%Y-%m-%d_%H-%M-%S', time.localtime())} \n info:{info}")

, если условие True, оно покажет небольшое окно (будет воспроизводиться системный звук по умолчанию, и не нужно использовать winsound.Beep()).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...