2017-05-30 142 views
1

我有一个依赖(除其他之外)selenium,bs4,smtplibxlsxwriter的python 3脚本。该脚本会刮擦网站,将大量数据保存到Excel文件中,然后通过电子邮件向我发送特别感兴趣的小块数据。我已经无数次地运行了这个脚本,它运行良好(即,它写入了excel文件并通过电子邮件发送给我)。为什么我的Python脚本在由Windows 10任务计划程序执行时运行方式不同

最近,我使用Windows 10上的任务计划程序将此脚本设置为每24小时运行一次。该程序显然运行(并记录为任务计划程序成功)。问题是什么时候任务计划程序执行程序我只收到数据块较小的电子邮件。 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放在脚本的顶部。谢谢。

+0

你有日志文件在这里发布?如果不是,你应该使用一个。它可以具有日志消息,例如它是否能够找到路径,打开文件等。 –

+0

对不起,我是新手。你是指任务事件的历史吗?如果是这样,我的内容是:“Task Scheduler成功完成”{abcef-geda-5555-4444-2701080b34bf}“用户”DESKTOP-xxxx \ name“的”\ Microsoft \ Windows \ TaskScheduler \ sw_dad.py“任务实例ID是102,OpCode是(2)。我在历史部分看到了其他细节。第一个说“任务在调度器上触发。第二个说'创建任务过程'。第三个说'任务开始了'。第四位说'行动开始了'。第5位说'行动已经完成'。第六位说'任务完成'。 – vintagedeek

回答

2

解决。在PowerShell中运行时,我的脚本将一个Excel文件写入当前工作目录。当运行通过任务计划程序时,该文件被写入Start In(可选)框中指定的路径。我有每个StackOverflow建议python.exe的路径。所以这个文件是用c:\ python \ python36-32写的。我将开始(可选)框更改为保存Excel文件的首选路径,并且它工作正常。

相关问题