Как отправлять текстовые сообщения в уведомления?

Как отправлять текстовые сообщения в уведомления?

Я написал код Python для получения случайного текста в файле .txt. Теперь я хочу отправить этот случайный текст в область уведомлений с помощью команды 'notify-send'. Как это сделать?

решение1

Мы всегда можем позвонитьуведомить-отправитькак подпроцесс, например, так:

#!/usr/bin/env python
#-*- coding: utf-8 -*-

import subprocess

def sendmessage(message):
    subprocess.Popen(['notify-send', message])
    return

В качестве альтернативы мы также можем установитьпитон-уведомление2илиpython3-уведомление2и вызовите уведомление через это:

import notify2

def sendmessage(title, message):
    notify2.init("Test")
    notice = notify2.Notification(title, message)
    notice.show()
    return

решение2

питон3

Хотя вы можете позвонить notify-sendчерез os.systemили, subprocessвозможно, более согласуется с программированием на основе GTK3 использование Notifygobject-интроспекциясорт.

Небольшой пример покажет это в действии:

from gi.repository import GObject
from gi.repository import Notify

class MyClass(GObject.Object):
    def __init__(self):

        super(MyClass, self).__init__()
        # lets initialise with the application name
        Notify.init("myapp_name")

    def send_notification(self, title, text, file_path_to_icon=""):

        n = Notify.Notification.new(title, text, file_path_to_icon)
        n.show()

my = MyClass()
my.send_notification("this is a title", "this is some text")

решение3

Чтобы ответить на вопрос Мехула Мохана, а также предложить кратчайший способ отправки уведомления с разделами заголовка и сообщения:

import os
os.system('notify-send "TITLE" "MESSAGE"')

Включение этого в функцию может быть немного запутанным из-за кавычек в кавычках

import os
def message(title, message):
  os.system('notify-send "'+title+'" "'+message+'"')

решение4

import os
mstr='Hello'
os.system('notify-send '+mstr)

Связанный контент