在Windows 10中的任务计划程序上计划.py文件

Ste*_*tef 24 python

我已经尝试将.py文件转换为.exe文件.不幸的是,.exe文件存在问题; 我相信这是因为我的代码相当复杂.所以,我试图直接安排我的.py文件与任务计划程序,但每次我这样做然后运行它看看是否工作,弹出一个窗口,并问我如何打开程序? - .-

你们中的任何人都知道如何使用Task Scheduler成功安排我的.py文件吗?请帮忙,谢谢

Windows 10 Python 3.5.2

Dra*_*gon 25

创建exe应该是最好的方法.但是如果你想用任务调度程序运行它,你可以这样做:

  1. 启动Window的任务计划程序
  2. 查找"操作"窗格(右侧),它具有"创建基本任务"操作.点击它.
  3. 这将打开一个向导,您将在其中定义任务名称,触发器(运行时)和操作(要运行的程序).在"操作"选项卡中,您可以指定要运行的Python脚本的名称以及脚本的任何参数.

为了确保您的Python脚本无论计划任务使用的登录帐户如何都会运行,并避免混淆在混合环境(64位或32位)中使用哪个版本的Python,建议您运行Python可执行文件Python文件的名称作为可执行文件的参数.

假设您要运行的脚本是E:\ My script.py.而不是直接运行脚本,指示任务计划程序以脚本作为参数运行python.exe.例如:

C:\ Python27\ArcGIS10.2\python.exe"E:\ My script.py"

python.exe的位置取决于您的安装.如果你不知道它在哪里,你可以发现它的位置; 将以下代码复制并粘贴到新的Python脚本中,然后执行该脚本.该脚本将打印python.exe的位置以及有关Python环境的其他信息.

import sys
import platform
import imp

print("Python EXE     : " + sys.executable)
print("Architecture   : " + platform.architecture()[0])
print("Path to arcpy  : " + imp.find_module("arcpy")[1])

raw_input("\n\nPress ENTER to quit")
Run Code Online (Sandbox Code Playgroud)

确定python.exe的位置后,这是在任务调度程序的"操作"面板中输入的内容: 在此输入图像描述

如果脚本有其他参数(参数),请在脚本路径后提供.希望这可以帮助.

  • 不幸的是它不起作用。它运行,打开命令提示符,但一秒钟后关闭而不执行我的代码。 (3认同)

小智 16

只要你的脚本不需要太多时间来完成,龙的答案就可以很好地工作。

我在 Windows 任务计划程序中使用了一些不同的方法:

Program/script文本框中设置 Python 可执行文件的路径(在我的例子中位于 virtualenv 文件夹内)。

Add arguments= 只是您的 Python 脚本的名称。

Start in= Python 脚本的完整路径(不带 name.py)。

在此输入图像描述

这样脚本运行时,控制台保持打开状态并等待结束。


Mag*_*Tun 7

您应该在Action选项卡中设置:

  • 在程序中,python.exe的路径:例如 "C:\Users\Me\AppData\Local\Programs\Python\Python36\python.exe"
  • 在参数中,带有扩展名的文件名:例如 "C:\Users\Me\Desktop\mypythonsrcipt.py"
  • 在开始时,脚本的文件夹:例如 "C:\Users\Me\AppData\Local\Programs\Python\Python36\python.exe"

此外,每次修改任务时,"mypythonsrcipt.py"选项卡中的用户帐户都会切换到"中等强制级别".所以我必须重新打开并将用户帐户设置回我的用户名:(参见此问题)

在此输入图像描述

如果仍然无法运行脚本,请进入"事件日志" "C:\Users\Me\Desktop\"(右键单击以启用它)并查找错误.


use*_*338 5

我几乎为此失去了头发。由于执行上述操作,我总是得到0x1。一位经验丰富的Windows管理员告诉我:

创建一个批处理文件:

SET logfile="C:\Reports\batch.log"
@echo off
@echo Starting Script at %date% %time% >> %logfile%
"C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\python.exe" "C:\Users\sys_www\source\repos\hardware\ReportAssembler.py"
@echo finished at %date% %time% >> %logfile%
Run Code Online (Sandbox Code Playgroud)

然后在任务配置的操作部分中提供批处理文件。还需要注意的一点是,执行脚本的用户实际上可以访问在python程序运行时写入的所有文件。

我尝试使用脚本作为参数,并在programm / script中使用python exe。首先,我出现错误“ Windows Scheduled Tasks not running”。然后经过一些配置后,我得到了错误0x1,它告诉我绝对没有任何错误。