Wie sende ich Textnachrichten an die Benachrichtigungsblasen?

Wie sende ich Textnachrichten an die Benachrichtigungsblasen?

Ich habe einen Python-Code geschrieben, um zufälligen Text in eine TXT-Datei zu bekommen. Jetzt möchte ich diesen zufälligen Text mit dem Befehl „notify-send“ in den Benachrichtigungsbereich senden. Wie machen wir das?

Antwort1

Wir können jederzeit anrufenBenachrichtigen-Sendenals Unterprozess, zB so:

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

import subprocess

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

Alternativ können wir auch installierenpython-benachrichtigung2oderpython3-benachrichtigung2und rufe darüber die Benachrichtigung auf:

import notify2

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

Antwort2

python3

Während Sie notify-sendüber os.systemoder aufrufen können subprocess, ist es wohl konsistenter mit GTK3-basierter Programmierung, die Benachrichtigung zu verwendengobject-IntrospektionKlasse.

Ein kleines Beispiel zeigt dies in Aktion:

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")

Antwort3

Um Mehul Mohans Frage zu beantworten und den kürzesten Weg vorzuschlagen, eine Benachrichtigung mit Titel- und Nachrichtenabschnitten zu senden:

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

Das Einfügen in die Funktion kann aufgrund der Anführungszeichen in Anführungszeichen etwas verwirrend sein

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

Antwort4

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

verwandte Informationen