解析crontab风格的线条

时间:2011-09-12 15:20:23

标签: python crontab

我需要在Python中解析类似crontab的日程安排定义(例如00 3 * * *)并获取最后一次运行的位置。

是否有一个好的(最好是小的)库解析这些字符串并将它们转换为日期?

2 个答案:

答案 0 :(得分:41)

也许python包croniter符合您的需求。

用法示例:

>>> import croniter
>>> import datetime
>>> now = datetime.datetime.now()
>>> cron = croniter.croniter('45 17 */2  * *', now)
>>> cron.get_next(datetime.datetime)
datetime.datetime(2011, 9, 14, 17, 45)
>>> cron.get_next(datetime.datetime)
datetime.datetime(2011, 9, 16, 17, 45)
>>> cron.get_next(datetime.datetime)
datetime.datetime(2011, 9, 18, 17, 45)

答案 1 :(得分:1)

也许你可以使用这个模块:

http://code.activestate.com/recipes/577466-cron-like-triggers/

我使用该模块在Python中创建用户空间cron并且它运行良好。该模块可以处理类似crontab的行。