使用Python CronTab在Windows 7上安排Python脚本的执行任务

5

我希望在Windows平台上使用python-crontab模块安排一个Python脚本的定时任务。找到了以下代码段来解决问题,但是配置起来有些困难。脚本名称为cronTest.py

from crontab import CronTab
file_cron = CronTab(tabfile='filename.tab')
mem_cron = CronTab(tab="""
* * * * * command
""")

假设我想使用以下名为dateTime.py的脚本每5分钟打印一次日期和时间:
import datetime
with open('dateInfo.txt','a') as outFile:
    outFile.write('\n' + str(datetime.datetime.now()))

我该如何执行dateTime.py并设置cron作业,以便通过cronTest.py每5分钟运行一次。


你尝试过将 * * * * * command 替换为 */5 * * * * <PATH_TO_PYTHON> <PATH_TO_dateTime.py> 并重新运行 cronTest.py 吗? - pgngp
我尝试将command替换为我的脚本路径,但它没有起作用,我想我需要知道在cron = CronTab(tab=""" */5 * * * * python <path to script>""")中应该传递什么给tab。我的代码如下:my_cron=cron.new(command='python D:\Pyhon\currentDate.py') my_cron.minute.every(1) - g1devops
你可能需要在你的crontab中指定python的完整路径。 - pgngp
我尝试了但是没有成功。 - g1devops
1个回答

4

您是否运行了嵌入式调度程序?请查看文档中的运行调度程序部分:

tab = CronTab(tabfile='MyScripts.tab')
for result in tab.run_scheduler():
    print "This was printed to stdout by the process."

因为Windows没有类似于crontab的进程,所以你要么将你的crontab输入到现有守护程序中,要么在你的进程中使用run_scheduler创建一个守护程序。


我不明白一件事:在@g1devops提出的问题中,“MyScripts.tab”应该是什么,它将是文件dateTime.py吗? - Lukasavicus
Windows确实有一个调度程序,自Windows 95以来就一直存在。我原本希望能找到一个跨平台的Python调度程序,这也是我来到这里的原因。哎,算了。 - J. Gwinner
如果你知道它的工作原理,以及Python如何与之交互,也许这是可以添加的一个功能。 - Martin Owens -doctormo-

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接