为什么我的 Python 脚本在由 Windows 10 任务计划程序执行时运行方式不同

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

我有一个 python 3 脚本,它依赖于(除其他外)

selenium
bs4
smtplib
xlsxwriter
。该脚本会抓取网站,将大量数据保存到 Excel 文件中,然后通过电子邮件向我发送特别感兴趣的较小数据块。我已经多次运行该脚本并且运行良好(即,它写入 excel 文件并向我发送电子邮件)。

最近,我在 Windows 10 上使用任务计划程序将此脚本设置为每 24 小时运行一次。该程序显然正在运行(并且任务计划程序将其记录为成功)。问题是,当任务计划程序执行程序时,我只收到包含较小数据块的电子邮件。 Excel文件没有写入。

在任务计划程序下,我将以下内容放入程序/脚本框中:

C:\path\to\python\python.exe
。在参数下,我输入:
C:\path\to\script.py

注意,根据之前的SO问题,我尝试将

cmd
放在程序/脚本下,然后将
C:\path\to\python\python.exe C:\path\to\script.py
作为参数。使用后一个
cmd
设置,程序根本无法运行。

不确定是否相关,但我将

c:\path\to\python\python36-32\
c:\path\to\scriptfolder\
添加到我的系统变量路径中。我将
#!python3
放在脚本的顶部。谢谢。

python xlsxwriter smtplib windows-task-scheduler
1个回答
2
投票

解决了。我的脚本在 PowerShell 中运行时将 Excel 文件写入当前工作目录。通过任务计划程序运行时,文件被写入“开始于(可选)”框中指定的路径。根据 StackOverflow 的建议,我在那里找到了 python.exe 的路径。所以文件写在c:\python\python36-32中。我将“开始于(可选)”框更改为保存 Excel 文件的首选路径,它起作用了。

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