【问题标题】:File not specified when running crontab in Python在 Python 中运行 crontab 时未指定文件
【发布时间】:2019-06-03 23:15:11
【问题描述】:

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

writedate 脚本工作正常,但无论我指定什么路径,cron 作业都无法获取文件 writeDate.py。

我已经尝试直接从我放入 cron 作业的路径中运行该文件,它工作得非常好,但是当我尝试在 cronjob 脚本中找到它时,由于某种原因它无法找到该文件。

这是 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 脚本没有检测到它。

【问题讨论】:

  • 刚刚添加了一个指向我正在尝试遵循的教程的链接,老实说,我是 cron 作业的完整新手。我知道这通常是通过 Unix 系统完成的,但我不确定是否可以通过 windows 完成。

标签: python python-3.x cron


【解决方案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 文件,并使用直接 API 自动访问系统 cron。
据我所知,只有Linux或类Unix系统才有crontab命令。

【讨论】:

    【解决方案2】:

    如果您使用的是 windows,那么您可以启动内置的调度程序。但是您应该先将 cron 保存到文件中。 `cron.write('C:\SomeFile.cron') 然后在需要运行调度程序时将其读回。文档解释了如何循环访问调度程序以保持其运行并检查新作业。确保使用 time.sleep 不锁定进程。

    【讨论】:

      猜你喜欢
      • 2023-04-01
      • 2021-08-14
      • 1970-01-01
      • 2013-07-09
      • 2012-05-14
      • 2021-12-29
      • 2014-12-17
      • 2016-07-22
      • 2014-03-23
      相关资源
      最近更新 更多