当前位置: 首页
编程语言
Windows定时执行Python脚本的完整方案

Windows定时执行Python脚本的完整方案

时间:2026-08-02
转载

在Windows任务计划程序中,通过创建整点和半点两条定时任务,分别设置开始时间为00:00和00:30,实现每30分钟精确执行Python脚本。需使用绝对路径调用解释器,通过日志文件验证后台运行,无人值守时勾选“不管用户是否登录都要运行”。

Windows 定时执行 Python 脚本方案

在Windows环境下,定时运行Python脚本是自动化运维或数据处理中的常见需求。任务计划程序(Task Scheduler)是系统自带的利器,但很多人对“每30分钟执行一次”这类配置感到头疼——因为默认的“每小时”触发器是从启动时刻开始算间隔,没法直接落在整点和半点。下面就用一个完整的示例,一步步拆解如何实现精确到整点/半点的定时任务,并解决路径、后台运行、无人值守等实际问题。


一、环境信息

项目内容
操作系统Windows 11
Python 解释器3.11
脚本目录D:\Python_xx\test
测试脚本D:\Python_xx\test\hello.py

二、创建测试脚本

1. 创建脚本文件

脚本路径:D:\Python_xx\test\hello.py,内容如下——同时输出到控制台和日志文件,每行带时间戳,方便后续验证。

import datetime
def log(msg):
    """同时输出到控制台和日志文件,每行带时间戳"""
    line = f"[{datetime.datetime.now():%Y-%m-%d %H:%M:%S}] {msg}"
    print(line)
    with open(r"D:\Python_xx\test\hello.log", "a", encoding="utf-8") as f:
        f.write(line + "\n")
log("hello word!")

2. 手动验证脚本可执行

打开 PowerShell 或 CMD,执行以下命令,确认脚本能正常运行:

& "D:\Python\Python311\python.exe" "D:\Python_xx\test\hello.py"

预期输出类似:

[2026-07-13 16:21:27] hello word!

同时检查 hello.log 文件,确认内容已写入。

三、创建定时任务

关键点:Windows 任务计划程序的“每 1 小时”是从触发时刻起算的间隔,无法直接落在整点和半点。解决办法是创建两条任务——一条整点触发,一条半点触发。具体操作如下。

1. 创建整点任务

方法1:命令行(PowerShell)

schtasks /create `
  /tn "PyHello_Hour" `
  /tr "D:\Python\Python311\python.exe D:\Python_xx\test\hello.py" `
  /sc hourly `
  /st 00:00 `
  /f

参数说明:/sc hourly 表示每小时执行一次,/st 00:00 指定首次触发时间为整点,这样后续每次都会在整点触发。

方法2:图形化界面(任务计划程序)

按 Win + R,输入 taskschd.msc,打开任务计划程序。右侧操作栏点击“创建任务…”。

“常规”选项卡:名称填 PyHello_Hour,其他默认。

“触发器”选项卡 → 新建:

  • 开始任务:选择“按计划”
  • 设置:选择“每天”
  • 开始时间:0:00:00(对应 /st 00:00)
  • 高级设置:勾选“重复任务间隔”,下拉选择“1 小时”,持续时间选择“无限期”。

“操作”选项卡 → 新建:

  • 操作:选择“启动程序”
  • 程序或脚本:填写 D:\Python\Python311\python.exe
  • 添加参数:填写 D:\Python_xx\test\hello.py

“条件”和“设置”选项卡保持默认,点击“确定”完成创建。创建后,在左侧“任务计划程序库”中找到 PyHello_Hour,右键 → “运行”可立即测试。

2. 创建半点任务(同上述步骤)

命令行方式:

schtasks /create `
  /tn "PyHello_Half" `
  /tr "D:\Python\Python311\python.exe D:\Python_xx\test\hello.py" `
  /sc hourly `
  /st 00:30 `
  /f

图形界面操作完全一样,只是任务名称改为 PyHello_Half,开始时间改为 00:30:00。


四、验证与管理

1. 查看任务状态

schtasks /query /tn "PyHello_Hour"
schtasks /query /tn "PyHello_Half"

2. 立即手动触发一次(测试用)

schtasks /run /tn "PyHello_Hour"
schtasks /run /tn "PyHello_Half"

3. 删除任务

schtasks /delete /tn "PyHello_Hour" /f
schtasks /delete /tn "PyHello_Half" /f

五、重要说明

1. 后台运行无控制台输出

任务计划程序在后台执行时,print() 输出的内容会一闪而过,无法直接观察。要验证任务是否真正执行,建议通过日志文件来确认。脚本中已经写入了日志,之后使用以下命令查看最新10行:

Get-Content "D:\Python_xx\test\hello.log" -Tail 10

如果日志中间出现了整点和半点的记录,说明任务正常工作。

2. 无人值守运行

默认情况下,任务只在创建它的用户登录时才会执行。如果需要在用户未登录时也能运行(比如服务器重启后自动执行),有两种方式:

  • 图形界面:打开任务计划程序 → 找到任务 → 属性 → 勾选“不管用户是否登录都要运行”,并输入用户凭据。
  • 命令行:创建时加上 /ru SYSTEM 参数,以系统身份运行(但 SYSTEM 账户没有网络映射盘等用户会话资源):
schtasks /create /tn "PyHello_Hour" /tr "..." /sc hourly /st 00:00 /ru SYSTEM /f

3. 相对路径问题

任务计划程序的工作目录不一定是脚本所在目录。如果脚本内需要读写同目录下的文件(比如配置文件、数据文件),建议在脚本开头切换工作目录:

import os
os.chdir(os.path.dirname(os.path.abspath(__file__)))

4. Python 解释器路径

务必使用绝对路径调用解释器(如 D:\Python\Python311\python.exe),不要直接写 python,否则任务计划程序可能找不到。


六、后续:替换为正式脚本

测试通过后,把 hello.py 换成你的正式业务脚本即可,定时任务无需改动。如果正式脚本路径不同,可以用 /change 命令修改任务的执行命令:

schtasks /change /tn "PyHello_Hour" /tr "D:\Python\Python311\python.exe D:\Python_xx\test\real_script.py"
schtasks /change /tn "PyHello_Half" /tr "D:\Python\Python311\python.exe D:\Python_xx\test\real_script.py"

至此,一套完整的 Windows 定时执行 Python 脚本方案就落地了。从环境配置、脚本验证到双任务实现整点/半点触发,再到后台运行、无人值守、路径问题等坑点,基本覆盖了实际使用中可能遇到的场景。接下来就可以放心地把脚本搭上自动化流水线了。

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
35岁转行网络安全:从经验复用到实战落地的可行性评估

35岁转行网络安全:从经验复用到实战落地的可行性评估

35岁转行网络安全并非不可行,但核心在于将过往经验转化为安全领域的差异化优势。本文从岗位匹配度、技能学习顺序、实战验证闭环、求职策略及常见误区五个维度,提供一套可执行的转行评估框架与行动指南,帮助读者理性判断投入产出比,避开无效学习陷阱。

时间:2026-10-10 18:07
网络安全行业前景分析:技术演进与市场机遇

网络安全行业前景分析:技术演进与市场机遇

围绕2026年网络安全行业的发展变化,从市场需求、技术演进、细分赛道和企业落地四个层面展开,帮助读者理解行业增长逻辑、识别重点技术方向,并建立评估市场机遇与风险的基本框架。 OWASP China +2 IDC +2

时间:2026-10-10 18:02
2026网络安全求职全景:从岗位拆解到实战作品集构建

2026网络安全求职全景:从岗位拆解到实战作品集构建

本文基于2026年网络安全行业招聘趋势,深入剖析安全运维、攻防渗透、云安全等核心岗位的技术栈差异与能力侧重。文章不仅梳理了从基础网络知识到高级攻防演练的学习路径,更提供了“以终为始”的求职策略:通过拆解JD反向验证技能缺口,并指导如何将CTF经历、HomeLab实验转化为具有说服力的项目作品集,帮助

时间:2026-10-10 17:57
2024安全攻防实战:从勒索软件到AI治理的破局与重构

2024安全攻防实战:从勒索软件到AI治理的破局与重构

2024年的网络安全已从单纯的技术对抗演变为业务连续性的生死博弈。本文基于ENISA、微软及世界经济论坛的最新报告,深入剖析勒索软件的“双重勒索”演变、身份凭证成为首要攻击面的现状,以及生成式AI带来的攻防不对称性。文章进一步拆解企业如何从被动防御转向“发现-保护-检测-响应-恢复”的闭环体系,重点

时间:2026-10-10 17:52
网站编程AI工具测评:提升开发效率的辅助软件推荐

网站编程AI工具测评:提升开发效率的辅助软件推荐

围绕网站开发中的实际需求,对AI编程辅助工具进行分类、操作体验与效果验证,帮助读者快速判断哪些工具真正能提升开发效率,并避开代码质量、隐私、安全与过度依赖等常见问题。

时间:2026-10-10 17:47
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全