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

news2024/9/20 22:54:28

在这里插入图片描述

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

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

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

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

在这里插入图片描述

文章目录

  • 在Windows中定时执行Python脚本
    • 一、准备工作
      • 1. 确保Python环境已安装
      • 2. 准备Python脚本
    • 二、在Windows中操作设置定时任务
      • 1. Windows 键+R,调出此窗口,输入 compmgmt.msc
      • 2.点击任务计划程序,创建基本任务
      • 3.检查执行结果
    • 三、高级设置与故障排除
      • 1. 设置任务的其他选项
      • 2. 排查常见问题
      • 3. 捕获和记录输出
      • 4. 使用高级选项
      • 5. 脚本依赖管理
      • 6. 定时任务的维护和监控

在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脚本的任务。这不仅可以提高你的工作效率,还可以帮助你自动化许多重复性的任务,从而节省宝贵的时间和精力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2044488.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高可用集群keepalived(知识点+实验)详细版

高可用集群KEEPALIVED 一.高可用集群 1.1 集群类型 LB:Load Balance 负载均衡 LVS/HAProxy/nginx(http/upstream, stream/upstream) HA:High Availability 高可用集群 数据库、Redis SPoF: Single Point of Failure&…

在win10中,安装mingw-get-setup

安装windows下的VSCode软件 Windows下的VSCode安装后,还需要安装gcc编译器和g编译器。 gcc:编译C语言程序的编译器; g:编译C代码的编译器; 1、在Windows下安装VSCode; 2、安装插件有下面几个&#xff1a…

iPhone SE 4可能无法使用Apple Intelligence RAM可能被降级

在设备上运行Apple Intelligence的先决条件是RAM容量和神经引擎的能力。这些要求解释了为什么苹果的生成AI功能套件将首先在iPhone 15 Pro和iPhone 15 Pro Max上可用,因为这两款手机都配备了8GB RAM和A17 Pro。 此前有消息称,iPhone SE 4也将配备相同容…

Stable Diffusion入门:新手必备的几种插件,让小白快速上手(附带地址)

Stable Diffusion是一款强大的AI绘画工具,对于初学者而言,掌握这些模型和插件的使用,是解锁创作潜力、迅速提升技能水平的关键所在! 首先我们简单介绍一下插件是什么?如何安装插件? 插件(Plug…

VUE最强学习宝典01

目录 1.Vue是什么? 2. 两种使用方法 3.创建第一个vue实例 4.补充小知识 5.错误查询 1.Vue是什么? 概念:动态构建用户界面的渐进式 JavaScript 框架 。 优点:大大提升开发效率(70%) 缺点:需要理解记忆规划-->官…

开学季必备:全能耐用运动耳机推荐!

大家好!开学季快到了,我们在学校的生活不仅仅包括课业,还有很多运动和体育项目是不可避免的。运动时,如果没有音乐的陪伴,难免会觉得枯燥乏味。作为一个对运动耳机有较高要求的学生,我最近发现了一款非常值…

VLM 系列——MiniCPM-Llama3-V 2.6——论文解读——前瞻(源码解读)

一、概述 1、是什么 是一款面向终端设备的多模态大型语言模型(MLLM),论文暂未发布 ,它专注于实现在手机等资源受限设备上的高级AI功能,参数8B(qwen2 7B SigLIP ViT-400m/14 视觉标记压缩层 )…

HOW - 用腾讯蓝盾部署一个 Web 应用

目录 一、介绍二、项目、流水线和 Stage1. 项目(Project)2. 流水线(Pipeline)3. Stage(阶段)示例:配置一个简单的 CI/CD 流程的基本步骤总结 三、一条完整的流水线包括什么 Stage1. 源代码管理&…

29岁的服务员到网络安全工程师,大龄转行成功逆袭

大龄转行,一直在网络上备受争议。 转换职业赛道,从学习能力和试错成本角度来看,确实越早行动越有利,而大龄转行无疑伴随着较高的风险。 然而,大龄转行并非无路可走:古有苏老泉,年近三十方才开始…

数据结构之---堆(2)

一、出堆 出堆是指将堆顶数据出堆。出堆完成后要保证剩余数据还是满足原来堆的性质。所以我们把堆顶数据和堆底最后一个数据交换,取出新堆底数据,之后通过向下调整算法将剩下的数据重新排列成一个堆。 大堆经过出堆操作得出的数据是升序的 小堆经过出堆…

聚观早报 | 一加13配置细节曝光;谷歌首推人工智能手机

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 8月15日消息 一加13配置细节曝光 谷歌首推人工智能手机 MONA M03汽车即将上市 iPhone SE 4将升级8GB运行内存 R…

redis事件机制

redis服务器是一个由事件驱动(死循环)的程序,它总共就干两件事: 文件事件:利用I/O复用机制,监听Socket等文件描述符发生的事件,如网络请求时间事件:定时触发的事件,负责完成redis内部定时任务&…

MCU复位RAM会保持吗,如何实现复位时变量数据保持

在使用MCU时,通常大家默认MCU复位时RAM会被复位清零,那实际MCU复位时RAM是什么状态?如何让mcu复位时RAM保持不变呢? MCU复位有电源复位、Standby复位、内核复位、看门狗复位、引脚复位等。 其中内部会有掉电动作的复位有电源复位…

Linux知识复习第5期

目录 1、实验环境 2、日志存放 3、自定义日志采集路径 1、实验环境 hostnamectl hostname node1.zx.org # 设置主机名 vim /etc/hosts # 域名解析修改 hostname -I # 显示ip地址 2、日志存放 /var/log/messages 系统服务日志,常规…

快速MD5强碰撞生成器:fastcoll

问:可以制作两个具有相同哈希值的不同文件吗? 答:可以。 在密码学中,哈希函数将输入数据转换成固定长度的字符串。但由于输入的无限性和输出的固定性,不可避免地会有不同输入产生相同的哈希值,这就是碰撞。…

【ITK】图像分割算法:FastGrowCut详解

很高兴在雪易的CSDN遇见你 VTK技术爱好者 QQ:870202403 公众号:VTK忠粉 前言 本文分享图像分割算法FastGrowCut的详细解析过程,希望对各位小伙伴有所帮助! 感谢各位小伙伴的点赞+关注,小易会继续努力分享,一起进步! 你的点赞就是我的动力(^U^)ノ~YO 目录…

单元训练09:定时器实现秒闪功能

蓝桥杯 小蜜蜂 单元训练09:定时器实现秒闪功能 #include "stc15f2k60s2.h"#define LED(x) \{ \P0 x; \P2 P2 & 0x1f | 0x80; \P2 & 0x1f; \}#define L1 0xFE; // 定义L1 …

线程锁(2)

线程的资源回收 int pthread_join(pthread_t thread, void **retval); 功能: 等待线程结束 参数: thread --- 线程tid retval --- 用来保存,退出状态值,所在空间的地址 返回值: 成功 0 失败 错误…

[240816] 【超级大牛】kovidgoyal:calibre 和 kitty 的作者 | Go 发布 1.23.0 版本

目录 【超级大牛】kovidgoyal:calibre 和 kitty 的作者calibrekitty Go 发布 1.23.0 版本Go 1.23 版本更新说明 【超级大牛】kovidgoyal:calibre 和 kitty 的作者 calibre calibre 是由 github.com/kovidgoyal 使用 C 和 Python 开发的跨平台电子书管理…

开源AI智能名片系统与高级机器学习技术的融合应用:重塑商务交流的未来

摘要:在数字化浪潮的推动下,人工智能(AI)技术,尤其是机器学习领域的快速发展,正深刻改变着各行各业的面貌。开源AI智能名片系统作为这一变革的先锋,通过集成并优化多种高级机器学习技术&#xf…