我有一个 python 3 脚本,它依赖于(除其他外)selenium
、bs4
、smtplib
和 xlsxwriter
。该脚本会抓取网站,将大量数据保存到 Excel 文件中,然后通过电子邮件向我发送特别感兴趣的较小数据 block 。我已经多次运行该脚本,并且运行良好(即,它写入 excel 文件并向我发送电子邮件)。
最近,我在 Windows 10 上使用任务计划程序将此脚本设置为每 24 小时运行一次。该程序显然正在运行(并且任务计划程序将其记录为成功)。问题是,当任务计划程序执行程序时,我只收到包含较小数据 block 的电子邮件。 Excel 文件未写入。
在任务计划程序下,我将以下内容放入程序/脚本框中:C:\path\to\python\python.exe
。在参数下,我输入:C:\path\to\script.py
。
请注意,根据之前的 SO question ,我尝试将 cmd
放在 Program/Script 下,然后将 C:\path\to\python\python.exe C:\path\to\script.py
作为参数。使用后一个 cmd
设置,该程序根本无法运行。
不确定是否相关,但我将 c:\path\to\python\python36-32\
和 c:\path\to\scriptfolder\
添加到我的系统变量路径。我将 #!python3
放在脚本的顶部。谢谢。
最佳答案
已解决。我的脚本在 PowerShell 中运行时将 Excel 文件写入当前工作目录。当通过任务计划程序运行时,文件被写入“开始于(可选)”框中指定的路径。根据 StackOverflow 的建议,我在那里找到了 python.exe 的路径。所以文件写在c:\python\python36-32中。我将“开始于(可选)”框更改为保存 Excel 文件的首选路径,它起作用了。
关于python - 为什么我的 Python 脚本在由 Windows 10 任务计划程序执行时运行方式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44267111/