Wie sende ich Desktop-Benachrichtigungen mit Python 3?

11

Ich habe ein Python3.4-Skript. Ich möchte eine Benachrichtigung an den Desktop senden. Wie gehe ich in Python damit um? Kann ich notify-send verwenden?

Ich benutze Ubuntu 14.04.

#in my script
if something:
  notify-send 'Here is a notification !'
TotuDoum
quelle

Antworten:

20

Sie können notify-sendals externen Befehl verwenden:

import subprocess as s
s.call(['notify-send','foo','bar'])

Oder Sie können das notify2Modul ( sudo apt install python3-notify2) verwenden:

import notify2
notify2.init('foo')
n = notify2.Notification('foo', 'bar')
n.show()

Das Paket enthält weitere Beispiele (siehe /usr/share/doc/python3-notify2/examples/).

muru
quelle
@sgiri Ich dachte, die externe Bibliothek wäre besser als ein Unterprozess. In beiden Fällen müssen Sie trotzdem etwas installieren.
Hey
@YdobEmos subprocessist die Standardbibliothek, die mit Python verteilt wird. Daher ist es nicht erforderlich, es als Bibliothek eines Drittanbieters zu installieren. [Ref: Docs.python.org/2/library/index.html]
Sgiri
Sie müssen die Paketlieferung installieren notify-send. Oder zumindest auf Kubuntu muss man. Vielleicht wird es standardmäßig unter Ubuntu bereitgestellt, in diesem Fall ist es in der Tat die beste Lösung.
Hey