构建 python 脚本17 Mar 2025 | 4 分钟阅读 让我们开始构建 python 脚本,该脚本可以在系统启动时运行,以阻止对特定网站的访问。打开 PyCharm 编辑代码,或者您可以使用任何您喜欢的 IDE。 创建一个名为 web-blocker.py 的新 Python 脚本。为了让您更容易理解这个过程,我们将逐步构建这个脚本。所以让我们从设置所有必需的变量开始编码。 设置变量此步骤初始化脚本中将使用的所有必需变量。这里,host_path 设置为主机文件的路径。在我们的例子中,它位于 /etc 下。在 python 中,r 用于表示原始字符串。 redirect 被分配到本地主机地址,即 127.0.0.1。websites 是一个列表,其中包含要阻止的网站列表。 设置无限循环我们需要在 python 脚本中有一个 while 循环,以确保我们的脚本每 5 秒运行一次。 为了实现这一点,我们将使用 time 模块的 sleep() 方法。 确定时间在构建我们想要的 python 脚本的过程中,我们需要检查当前时间是工作时间还是娱乐时间,因为应用程序会在工作时间阻止网站访问。 要检查当前时间,我们将使用 datetime 模块。我们将检查 datetime.now() 是否大于当前日期凌晨 9 点的 datetime 对象,并且小于当前日期下午 5 点的 datetime 对象。 让我们进一步讨论 datetime.now() 的输出。 ![]() 它返回一个 datetime 对象,其中包含当前时间,包括年份(2019 年)、月份(1 月 1 日)、日期(23 日)、时间(小时、分钟、秒)。我们可以比较这个值,并使用 if 语句检查这个值是否存在于当前日期凌晨 9 点和当前日期下午 5 点之间。 该脚本现在将包含以下代码。 写入主机文件脚本的主要目标是以规律的间隔不断修改主机文件。为了让脚本配置主机文件,我们需要在这里实现文件处理方法。 以下代码被添加到主机文件中。 open() 方法以 r+ 模式打开存储为 host_path 的文件。首先,我们使用 read() 方法读取文件的所有内容,并将其存储到一个名为 content 的变量中。 for 循环遍历网站列表 (websites),我们将检查列表中的每个项目是否已存在于 content 中。 如果它存在于主机文件内容中,那么我们必须传递。否则,我们必须将重定向-网站映射写入主机文件,以便将网站主机名重定向到本地主机。 主机文件现在将包含以下 python 代码。 现在,让我们运行这个 python 脚本,并检查它是否修改了主机文件。 ![]() 正如我们所看到的,它一直在控制台上打印工作时间,因为我们正处于工作时间。现在,让我们检查主机文件的内容。 ![]() 正如我们所看到的,两行已被添加到主机文件中。它会将对 Facebook 的访问重定向到本地主机。 从主机文件中删除我们的脚本在工作时间运行良好,现在让我们为娱乐时间添加一些功能。在娱乐时间(非工作时间),我们必须从主机文件中删除添加的行,以便授予对被阻止网站的访问权限。 以下代码被添加到脚本的 else 部分(娱乐时间情况)。 else 部分将在娱乐时间执行,它会删除所有阻止访问计算机上某些特定网站的映射。 让我们检查在娱乐时间执行 python 脚本时主机文件的内容。 ![]() 最终脚本现在,我们有一个 python 脚本,它运行良好,可以在工作时间(上午 9 点到下午 5 点)阻止访问某些特定网站,并在娱乐时间提供访问权限。 脚本 web-blocker.py 如下所示。 web-blocker.py 下一个主题在 Linux 上部署脚本 |
我们请求您订阅我们的新闻通讯以获取最新更新。