Python不会运行任务计划程序,但会正常运行?

问题描述:

出于某种原因,这让我非常震惊,我有一个python程序,在Windows Task Scheduler运行它时不起作用。我只是更新了程序,并且在它每次都成功运行的同时,每次都会失败。
真奇怪的是,如果我运行独立于任务计划程序的python脚本,它的工作原理就好了!Python不会运行任务计划程序,但会正常运行?

因此旧程序和新程序之间的主要区别在于旧程序使用了urllib.request,新程序使用open(),os.listdir和os.path.join在本地运行 当我运行程序通过Windows任务计划程序,对调度结果表示“(为0x1)”,并在Windows CMD窗口闪烁起来说:

Traceback <most recent call last>: 
File “C:\Users\User\Documents\Python\Test\Client\Beige.py” , line 16 in (module) 
For filename in os.listdir(‘Website_Check”): 
FileNotFoundError: [WinError3] the system cannot find the path specified: 
“Website_Check” 

所以基本上,当我运行该程序直线上升,它访问外部。 txt文件很好,但从任务计划程序它不?我需要帮助。任何人都有这方面的经验吗?

(我知道我可以只保存在同一目录下的txt文件,而不是一个子目录,但我必须有另一个程序每天修改txt文件的另一个文件夹)

+0

顺便说一下,我的代码很好,因为它在任务计划程序之外正常工作 – 2014-10-10 15:31:39

确保您使用程序中的绝对路径,而不是相对路径。任务计划程序可能从另一个目录运行程序,并且如果程序中有相对路径,则无法找到它们。解决此问题的简单方法是把你的程序的顶部以下行(假设你已导入os):

os.chdir("c:/Users/User/Documents/Python/Test/Client") 

现在,所有下面的命令正在从这个目录中运行,而相对路径应该管用。

+0

Ahhhhh你太聪明了......我永远感激:)大声笑它总是最简单的解决方案,完全不顾我的意思! – 2014-10-10 15:40:28