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

11

У меня есть скрипт на python3.4. Я хотел бы отправить на рабочий стол уведомление. Как мне справиться с этим в Python? Могу ли я использовать уведомление-отправить?

Я использую Ubuntu 14.04.

#in my script
if something:
  notify-send 'Here is a notification !'
TotuDoum
источник

Ответы:

20

Вы можете использовать notify-sendв качестве внешней команды:

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

Или вы можете использовать notify2модуль ( sudo apt install python3-notify2):

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

Есть еще примеры, включенные в пакет (см. /usr/share/doc/python3-notify2/examples/).

Мур
источник
@sgiri Я думал, что внешняя библиотека будет лучше, чем подпроцесс. В любом случае вы должны что-то установить в любом случае.
Привет,
@YdobEmos, subprocessэто стандартная библиотека, которая распространяется с Python. Следовательно, нет необходимости устанавливать его как стороннюю библиотеку. [ref: docs.python.org/2/library/index.html]
Сгири
Вы должны установить пакет поставки notify-send. Или по крайней мере на Kubuntu вы должны. Может быть, это предусмотрено по умолчанию в Ubuntu, в таком случае это действительно лучшее решение.
Привет