Python 中的桌面通知器2025年1月10日 | 阅读 9 分钟 通知支持人们记住事情。它是一小段文本,显示在桌面或移动屏幕上,用于告知用户更新或任何其他重要的信息片段。这些信息使用户能够专注于重要事件而忽略不太重要的事件。通知存储在通知栏中,我们可以在完成工作后查看。 在接下来的教程中,我们将学习如何使用 Python 编程语言,通过几个简单的步骤,为计算机创建一个自定义的桌面通知器应用程序。 但在开始之前,让我们先简要了解一下桌面通知器及其工作原理。 了解桌面通知器桌面通知器是一个简单的应用程序,它以弹出消息的形式在桌面上生成通知消息。我们今天将学习开发的桌面通知应用程序的主要目的是不断提醒我们全天需要完成的各种事情。 这项任务就像一个待办事项列表,我们有一系列要完成的“山羊”。桌面通知器将全天不断地通知我们不同的待办事项和要采取的行动。 现在,让我们看看“桌面通知器”项目的先决条件。 Python 项目的先决条件对于这个 Python 项目,我们需要安装两个必要的包。第一个包是“requests”,它将帮助我们从网上获取数据;第二个包是“plyer”,它将允许我们在计算机上创建通知。 我们可以通过在命令提示符或终端中键入以下命令,使用 pip 安装程序来安装这些包。 语法 现在,让我们通过构建一个简单的桌面通知器 Python 来理解 plyer 的用途。 基于 Plyer 包的示例在以下示例中,我们将使用 plyer 包创建一个简单的桌面通知器。 示例 输出 ![]() 说明 在上面的代码片段中,我们从 plyer 包导入了 notification 对象。然后我们定义了两个字符串变量,用于存储桌面通知器的标题和消息的值。最后,我们使用了 notify() 方法。在此方法中,我们指定了参数,如 title(包含通知的标题)、message(包含要显示的文本)、app_icon(包含随消息显示的图标)、timeout(包含显示消息的时间(默认为 10 秒))、toast(包含一个布尔值,表示简单的消息而不是完整的通知)。 结果,我们可以在桌面上看到一个弹出窗口,向用户显示标题和消息。 现在,让我们构建一个桌面通知器来为 COVID 统计数据设置每日跟踪器。 Python 中桌面通知器的实现为了在 Python 中构建桌面通知器来设置 COVID 统计数据的每日跟踪器,我们将遵循以下步骤: 步骤 1:安装所需的包 步骤 2:从网上读取冠状病毒数据 步骤 3:构建桌面通知器应用程序 步骤 4:使程序在后台运行 由于我们在上一节中已经涵盖了第一步,我们将从从网上读取与 COVID 统计数据相关的数据开始。所以,让我们开始这个项目。 从网上读取 COVID 统计数据我们可以使用下面显示的 URL 获取与冠状病毒相关的数据,并且可以自由地将国家名称替换为您自己的国家名称。我们将在此应用程序中使用印度的冠状病毒数据。 https://corona-rest-api.herokuapp.com/Api/india/ 网站看起来会像这样: ![]() 构建桌面通知器应用程序我们已经具备了构建此应用程序所需的所有实用工具,现在让我们来编写此应用程序的代码。 注意:在本地编译器中编码比在线编译器更容易,因为在本教程的后期,我们将使此应用程序在计算机上作为后台进程执行;如果您在在线编译器中运行,那么您需要下载文件,而对于本地编译器来说,这不是必需的。建议使用任何本地编辑器或 IDE,如 Visual Studio Code (VS Code)。导入所需的库和模块 我们将开始导入所需的库和模块,如 datetime、time、requests 和 plyer。让我们看下面的代码片段来演示这一点。 文件:notifier.py 说明 我们在上面的代码片段中导入了 datetime 模块来读取当前日期。我们还导入了 time 模块来暂停执行特定的时间。然后我们导入了 requests 库,以便从网上检索冠状病毒数据。最后,我们从 plyer 库导入了 notification 对象,这将帮助我们在计算机上获得通知。 从网上获取数据 现在,我们将使用 requests 库从网上检索数据。让我们看下面的代码片段来演示这一点。 文件:notifier.py 说明 在上面的代码片段中,我们初始化了一个名为 covidStats 的变量,该变量将存储来自网上的冠状病毒数据。但是,我们最初将此变量设置为 None。然后我们使用了 try-except 块。在 try 块中,我们使用了 requests 库的 get() 方法,指定了前面提到的网站 URL,并将数据存储在 covidStats 变量中。如果由于缺少互联网而未能获取数据,我们会在 except 块中打印一条语句。 为项目创建自定义通知。 现在,我们将使用从 plyer 库导入的 notification 对象的 notify() 方法为项目创建自定义通知。其代码片段如下: 文件:notifier.py 说明 在上面的代码片段中,我们使用了 if 条件语句来检查 covidStats 变量是否包含来自网上的数据。然后,我们使用 json() 方法将此数据转换为 JSON 格式,并将其存储在一个名为 jsonData 的新变量中。然后,我们使用了 while() 循环(设置为 True)来多次重复循环。在此循环中,我们使用了 plyer 库的 notification 对象的 notify() 方法来为桌面创建一个通知器。我们在该方法中指定了通知的标题、消息、图标和超时时间。我们在 title 参数中打印了当前日期,并在 message 参数中打印了来自 jsonData 变量的数据。我们将通知图标设置为我们下载的 .ico 文件格式,并在 app_icon 参数中指定了路径。然后我们将 timeout 设置为 30 秒,以便通知显示该时间。最后,我们使用了 time 模块的 sleep() 方法,以便每 12 小时重复一次上述过程。 编码部分现已完成,应用程序已准备好运行。用户也可以根据自己的喜好更改 timeout 和 sleep() 中的值。此外,图标可以在以下位置找到:https://icon-icons.com/icon/Covid-Corona-Hygiene-Mask-Health-Protect-Doctor/140787。 我们现在可以保存文件,并在命令 Shell 或终端中运行以下命令: 语法 但在看到输出之前,这里是完整的项目代码。 完整的项目代码以下程序文件是“桌面通知器”项目的完整代码。 文件:notifier.py 输出 ![]() 使应用程序在后台运行因此,我们终于构建了 Python 应用程序,并且在执行程序时它运行良好。然而,每次执行应用程序以获取通知是否很麻烦? 这里有一个解决方案,可以让我们通过将应用程序作为计算机系统中的后台进程运行来自动化此过程。 使 Python 应用程序在后台运行的方法以下命令将允许我们在后台运行应用程序。请注意,如果您使用的是 Windows 操作系统,则需要在命令提示符中键入此命令;如果是 Linux 操作系统,则需要在终端中键入此命令。 语法 注意:您可以将 <file-name> 替换为您自己的文件名。现在,让我们使用此命令在后台运行上述桌面通知器应用程序。 语法 这样,应用程序就已开始在后台运行。 如何确认应用程序正在后台运行?为了确认应用程序是否正在后台运行,您可以打开计算机中的任务管理器,转到后台进程,然后查看 Python 是否正在运行。 下图描绘了这一点: ![]() 如何停止接收桌面通知器应用程序的通知?为了停止接收通知,您可以打开任务管理器并搜索名为 Python 的后台进程。右键单击该进程,然后单击“结束任务”选项来终止该进程。 我们可以利用此方法的其他领域还有不同的领域可以使用此方法。例如:
用户可以根据自己的需求使用此桌面通知器应用程序。 结论通过本教程,我们学习了如何使用 Python 编程语言中的 plyer 库构建一个简单的桌面通知器。我们还学习了如何从网上检索数据并在桌面通知器中使用它。我们还了解了创建我们自己的自定义桌面通知应用程序的方法。此应用程序适用于任何操作系统,如 Windows、Linux 或 Mac。最后,我们学习了如何使应用程序在后台运行。 下一主题如何在 Python 中处理时区 |
Python 是一种高级、著名的解释型编程语言,由 Guido van Rossum 于 1991 年推出。截至 2022 年,Python 的需求量很大。Web 设计、数据处理、深度学习、信息科学、数据可视化、脚本编写以及其他领域都使用 Python。Python 是一种多功能且易于学习的计算机……
7 分钟阅读
在本教程中,我们将了解如何使用列表并将其转换为 Python 中的数据框。但在开始之前,让我们回顾一下什么是列表和什么是数据框?列表是 Python 中的一种数据结构,其中所有...
阅读 6 分钟
这里的缩进是指在开始任何语句或代码块时使用的空格和制表符的数量。这些空白和制表符的使用必须与特定代码块结束时匹配;因此,它指的是特定块的正确缩进。这个...
阅读 15 分钟
较新的 Python 版本比早期版本更快。Python 3.8 带来了许多改进,提升了其性能。我们无法理解 Python 的性能在于灵活的动态语言与性能之间常常存在权衡。我们不能拥有一切...
阅读 2 分钟
什么是 Matplotlib?在 Python 中,我们有很多内置库,它们有很多有用的内置函数,我们可以通过导入这些库来使用。Matplotlib 是 Python 中最重要的库之一,用于绘制图形和图表...
阅读 3 分钟
在本教程中,我们将讨论如何获取两个列表的交集。两个列表的交集意味着我们需要获取两个初始列表中所有共同的元素。Python 以其出色的内置数据结构而闻名。Python 列表...
阅读 3 分钟
DICOM,数字成像与医学通信,是医学成像系统的标准语言。每当我们听到“DICOM”这个词时,有些人可能认为它只是医学图像。然而,医疗分析师/数据科学家可能会像对待任何其他医疗数据集一样,将其视为宝藏,因为它...
阅读 4 分钟
银行业和金融业产生了海量与客户交易、账单和付款相关的数据,这些数据可以提供准确的见解和预测,供 AI 模型处理。海量的交易数据帮助了金融行业……
14 分钟阅读
在本文中,我们将讨论 Python 中的解析错误。这变得严重了。但不要害怕。我们知道“编码”这个词对于初学者和那些有点技术背景的人来说是多么令人生畏……但别担心。让你的 Python...
阅读 3 分钟
在接下来的教程中,我们将借助示例来理解 Python 编程语言中的 reprlib 模块。让我们开始吧。理解 Python 中的 reprlib 模块 Python reprlib 模块提供了一种方法,用于生成限制了结果大小的对象表示...
阅读 3 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India