【发布时间】:2017-11-08 09:52:32
【问题描述】:
我需要启动一个应用程序来读取 osx 上的通知中心通知。有没有读取通知中心通知的python库?
【问题讨论】:
标签: python macos python-2.7 automation
我需要启动一个应用程序来读取 osx 上的通知中心通知。有没有读取通知中心通知的python库?
【问题讨论】:
标签: python macos python-2.7 automation
注意:我没有尝试任何这些,因为我目前没有运行 OSX 的机器,但是根据我搜索的结果:
您可以尝试在您的 python 代码中添加一个 AppleScript sn-p,它使用系统事件和通知中心来解析所有可用的通知并将它们返回到您的标准输出并直接在您的代码中解析输出。
获取所有可用通知的来源:https://macosxautomation.com/mavericks/notifications/01A.html。您应该感兴趣的部分是 getNotificationTitles 函数的代码。不好的部分是,在该实现中,您只能获得它们的标题,而不是完整的通知,因此您可能必须解析不同的区域才能获得完整的通知正文。
运行它并获得结果的来源:How do I embed an AppleScript in in a Python script?。
另一种方法是使用terminal-notifier cli 工具的-list 参数(作为脚本中的shell 命令),然后解析结果。
还有一个python wrapper 可用于此工具。该实现包含一个 list() 函数,它承诺只使用 cli 工具,只是您不需要从自己的代码中生成任何 shell 并解析它们的标准输出。
【讨论】: