Como envio notificações da área de trabalho usando o Python 3?

11

Eu tenho um script python3.4. Gostaria de enviar para a área de trabalho uma notificação. Como lidar com isso em python? Posso usar o envio de notificação?

Estou usando o Ubuntu 14.04.

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

Respostas:

20

Você pode usar notify-sendcomo um comando externo:

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

Ou você pode usar o notify2módulo ( sudo apt install python3-notify2):

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

Existem mais exemplos incluídos no pacote (consulte /usr/share/doc/python3-notify2/examples/).

muru
fonte
@sgiri Eu pensei que a lib externa seria melhor que o subprocesso. Em ambos os casos, você precisa instalar algo de qualquer maneira.
Ei
@YdobEmos, subprocessé a biblioteca padrão que é distribuída com Python. Portanto, não há necessidade de instalá-lo como uma biblioteca de terceiros. [ref: docs.python.org/2/library/index.html]
sgiri 13/07/17
Você precisa instalar o fornecimento de pacotes notify-send. Ou pelo menos no Kubuntu você precisa. Talvez seja fornecido por padrão no Ubuntu, nesse caso, é realmente a melhor solução.
Ei