【python】在Windows中定时执行Python脚本的详细用法教学

在这里插入图片描述

✨✨ 欢迎大家来到景天科技苑✨✨

🎈🎈 养成好习惯,先赞后看哦~🎈🎈

🏆 作者简介:景天科技苑
🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。
🏆《博客》:Python全栈,PyQt5和Tkinter桌面开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi,flask等框架,云原生K8S,linux,shell脚本等实操经验,网站搭建,数据库等分享。

所属的专栏:python综合应用,基础语法到高阶实战教学
景天的主页:景天科技苑

在这里插入图片描述

在Windows中定时执行Python脚本

在Windows系统中,定时执行Python脚本是一个常见需求,特别是在需要自动化数据处理、监控任务或周期性维护等场景中。本文将结合实际案例,详细介绍如何在Windows中通过任务计划程序(Task Scheduler)来实现定时执行Python脚本的功能。

一、准备工作

1. 确保Python环境已安装

首先,确保你的Windows系统上已经安装了Python,并且Python的安装路径已经被添加到系统环境变量中。这样,你就可以在命令提示符(CMD)或PowerShell中直接运行Python脚本了。

2. 准备Python脚本

以一个简单的Python脚本为例,该脚本每天定时打印一条问候语。以下是脚本内容:

import datetime

def greet():
    now = datetime.datetime.now()
    data = f"Hello! It's {now.strftime('%Y-%m-%d %H:%M:%S')}."
    print(data)
    dataname = f"{now.strftime('%Y_%m_%d_%H_%M_%S')}"
    with open(f"{dataname}.txt","w",encoding="utf-8") as f:
        f.write(data)


if __name__ == "__main__":
    greet()

将上述代码保存为greet.py,并放置在一个你容易找到的位置,比如C:\Projects\Scripts\

二、在Windows中操作设置定时任务

在Windows中,通过图像化操作来设置定时任务

1. Windows 键+R,调出此窗口,输入 compmgmt.msc

其实执行这一步就是调出计算机的管理器
相当于鼠标放在电脑,右键点击管理
输入compmgmt.msc后,点击确定
在这里插入图片描述
进入计算机管理界面
在这里插入图片描述

2.点击任务计划程序,创建基本任务

在这里插入图片描述

输入任务名称,描述可以不写
在这里插入图片描述

选择执行周期
在这里插入图片描述

选择开始时间,点击下一步
在这里插入图片描述

直接点击下一步
在这里插入图片描述

设置python解释器路径和python脚本路径
在这里插入图片描述
下一步,点击完成
在这里插入图片描述

然后可以查看到我们设置的定时任务
在这里插入图片描述

3.检查执行结果

可以看到生成了我们脚本中设置的文件
在这里插入图片描述
在这里插入图片描述

三、高级设置与故障排除

1. 设置任务的其他选项

  • 在任务计划程序中,你可以右键点击已创建的任务,选择“属性”,进一步设置任务的条件、设置等。
  • 例如,在“条件”选项卡中,你可以设置任务只在计算机空闲时运行,或者只有在计算机接通电源时才运行。
  • 在“设置”选项卡中,你可以设置任务失败后重试的次数、任务执行的时间限制等。

2. 排查常见问题

  • 如果任务没有按预期执行,首先检查任务计划程序的“历史记录”选项卡,查看任务执行的状态和错误信息。

  • 确认Python和批处理文件的路径是否正确无误。错误的路径或文件名拼写错误都可能导致任务无法执行。

  • 检查Python解释器是否已正确安装并添加到系统环境变量中。你可以通过在命令提示符中输入python --version来验证Python是否已安装并可用。

  • 确保批处理文件具有执行权限。在大多数情况下,Windows默认允许批处理文件执行,但如果你遇到了权限问题,可以尝试以管理员身份运行任务计划程序或批处理文件。

  • 查看任务计划程序的事件查看器以获取更详细的错误信息。你可以通过Windows搜索栏搜索“事件查看器”来打开它,然后在“Windows 日志” -> “应用程序”下查找与任务计划程序相关的错误事件。

3. 捕获和记录输出

如果你想捕获Python脚本的输出并将其保存到文件中,你可以在批处理文件中重定向输出。修改run_greet.bat文件如下:

@echo off
python "C:\Program Files\Python39\python.exe" "C:\Projects\Scripts\greet.py" > "C:\Projects\Scripts\output.txt" 2>&1

这里,>操作符用于将标准输出(stdout)重定向到output.txt文件,2>&1则将标准错误(stderr)也重定向到标准输出(因此也被写入到output.txt)。

4. 使用高级选项

如果你需要更复杂的定时逻辑(如每周的特定日子、每月的特定日期等),你可以在任务计划程序的“触发器”设置中选择“新建”并选择相应的选项。此外,你还可以设置多个触发器来满足不同的需求。

5. 脚本依赖管理

如果你的Python脚本依赖于特定的库或模块,并且这些依赖项没有预装在你的系统上,你可能需要在批处理文件中添加安装这些依赖项的命令(尽管这通常不是推荐的做法,因为它会延长任务的执行时间并增加出错的风险)。更好的做法是在开发环境中预先安装好所有必要的依赖项,并确保它们在你的生产环境中也可用。

6. 定时任务的维护和监控

  • 定期检查任务计划程序中的任务以确保它们按预期运行。
  • 监控任务的执行结果和输出,以便及时发现并解决问题。
  • 定期对Python脚本和批处理文件进行更新和维护,以确保它们与你的系统和业务需求保持一致。

通过以上步骤,你应该能够在Windows系统中成功设置定时执行Python脚本的任务。这不仅可以提高你的工作效率,还可以帮助你自动化许多重复性的任务,从而节省宝贵的时间和精力。

  • 36
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

景天科技苑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值