如何使用 Python 3 发送桌面通知?

如何使用 Python 3 发送桌面通知?

我有一个 python3.4 脚本。我想向桌面发送通知。如何在 python 中处理这个问题?我可以使用notify-send吗?

我正在使用 Ubuntu 14.04。

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

答案1

您可以使用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/)。

答案2

无需任何特定依赖项。无论如何,这些都是 dbus 的包装器。

import dbus

bus_name = "org.freedesktop.Notifications"
object_path = "/org/freedesktop/Notifications"
interface = bus_name

notify = dbus.Interface(dbus.SessionBus().get_object(bus_name, object_path), interface)
notify.Notify(ARGS)

有关参数,请参阅眼镜

相关内容