通过 Windows Scheduler 运行 python 脚本不起作用

问题描述 投票:0回答:4

我正在尝试通过 Windows 任务计划程序自动化 python 脚本,但它不起作用。在我的 python 脚本的末尾。应该创建两个 CSV 文件,但没有创建。

我尝试了以下方法: 1.将我的python.exe的地址复制到Program/Script中。

C:\Program Files\Python35\python.exe

  1. 在添加参数中,我输入了文件名

历史聚合.py

  1. 在“开始”(可选)中,我输入了 python 脚本的路径

C:\Users\我的名字\PycharmProjects\Project1

我错过了什么吗

python scheduled-tasks
4个回答
9
投票

为了简化,我们可以创建一个非常短的

.bat
文件,该文件只会接收运行 python 脚本所需的命令。

为此,请尝试以下操作:

在与 Python 文件相同的文件夹中创建一个

executePy.bat
文件 (C:\Users\myname\PycharmProjects\Project1),内容为:

@echo off
"C:\Program Files\Python35\python.exe" "Historical Aggregation.py"

然后,在任务计划程序上,只需使用程序/脚本安排测试:

"C:\Users\myname\PycharmProjects\Project1\executePy.bat"

Add Arguments
Start In
留空。现在,您的任务应该已准备好运行。


4
投票

我有一个非常相似的问题,并以不同的方式解决了它。这是我的分步指南:

  1. 将 python 脚本转换为 .exe,在 DOS cmd 提示符下使用以下命令:

    pyinstaller -- onefile [name of the file.py]

  2. 将要更新的 CSV 文件放在与创建的 .exe 文件相同的文件夹中

  3. 在 Windows Scheduler 上创建基本任务,具有以下属性:

    • 常规 - 选择

      • 无论用户是否登录都运行
      • 添加电脑密码。对于我的电脑,使用用户名 DESKTOP-M40FS79\dario 和电脑密码
      • 以最高权限运行
    • 触发器 – 选择

      • 每日
      • 每 30 分钟重复一次任务
      • 如果任务运行时间超过 15 分钟,则停止任务
    • 行动

      • 在程序/脚本下插入 .exe 文件的路径,例如 C:\Pythondata\dist est.exe
      • 在“开始于(可选)”下插入 CSV 和 .exe 文件所在目录的路径,例如 C:\Pythondata\dist\
    • 条件-选择

      • 仅当计算机使用交流电源时才启动任务,并确保已连接电源
      • 唤醒计算机来运行此任务
    • 设置 – 保留默认选项

  4. 输入密码保存任务

  5. 将任务状态保留为“就绪”

祝你好运!


2
投票

另一种方法是将字段设置为:

  1. 程序/脚本 - 你的Python路径(带引号):

“C:\Program Files\Python35\python.exe”

  1. 添加参数 - 脚本的完整文件名,包括其路径(带引号):

“C:\Users\myname\PycharmProjects\Project1\Historical Aggregation.py”


0
投票

目录路径中可能有一些空格(或不允许的字符),请尝试删除它们或找到一种方法在路径中处理它们(我认为任务计划程序不会像 powershell 或 CMD 那样接收更新...)

© www.soinside.com 2019 - 2024. All rights reserved.