在Python中运行crontab时未指定文件

时间:2019-06-03 11:18:33

标签: python python-3.x cron

我正在尝试为简单的python脚本运行cron作业,该脚本会将当前时间和日期输出到txt文件中。

writedate脚本工作正常,但是无论我指定的路径如何,cron作业都无法提取文件writeDate.py。

我已经尝试直接从我在cron作业中放置的路径运行该文件,它工作得很好,但是由于某种原因,当我尝试在cronjob脚本中找到该文件时,由于某种原因它找不到。 / p>

这是scheduleCron.py代码:

from crontab import CronTab
my_cron = CronTab(user='user')
filepath = 'C:\\Users\\user\\Downloads\\Python-Projects\\writeDate.py'
job = my_cron.new(command='python '+filepath)
job.minute.every(1)

my_cron.write()

它给我错误[WinError 2]系统找不到指定的文件

为清楚起见,我使用的是此示例-https://code.tutsplus.com/tutorials/managing-cron-jobs-using-python--cms-28231

我还尝试了在Python中打印该路径,并正确加载了文件,但是由于某种原因cron脚本无法检测到它。

2 个答案:

答案 0 :(得分:1)

https://pypi.org/project/python-crontab/
在文件末尾

Windows support works for non-system crontabs only. ( see mem_cron and file_cron examples above for usage )

Crontab模块,用于读取crontab文件和写入crontab文件并自动且简单地使用直接API来访问系统cron。
据我所知,只有Linux或Unix之类的系统才具有crontab命令。

答案 1 :(得分:0)

如果使用Windows,则可以启动内置调度程序。但是您应该先将cron保存到文件中。 cron.write('C:\ SomeFile.cron'),然后在需要运行调度程序时将其读回。该文档说明了如何遍历调度程序以使其保持运行并检查新作业。确保使用time.sleep来不锁定进程。