¿Cómo envío notificaciones de escritorio usando Python 3?

11

Tengo un script python3.4. Me gustaría enviar una notificación al escritorio. ¿Cómo manejo esto en Python? ¿Puedo usar notificar-enviar?

Estoy usando Ubuntu 14.04.

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

Respuestas:

20

Puedes usarlo notify-sendcomo un comando externo:

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

O puede usar el notify2módulo ( sudo apt install python3-notify2):

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

Hay más ejemplos incluidos en el paquete (ver /usr/share/doc/python3-notify2/examples/).

muru
fuente
@sgiri Pensé que la lib externa sería mejor que el subproceso. En cualquier caso, debe instalar algo de todos modos.
Hola,
@YdobEmos, subprocesses la biblioteca estándar que se distribuye con Python. Por lo tanto, no es necesario instalarlo como una biblioteca de terceros. [ref: docs.python.org/2/library/index.html]
sgiri
Tienes que instalar el paquete de suministro notify-send. O al menos en Kubuntu tienes que hacerlo. Tal vez se proporciona de forma predeterminada en Ubuntu, en ese caso es la mejor solución.
Hola,