我需要在Python中解析类似crontab的日程安排定义(例如00 3 * * *)并获取最后一次运行的位置。
是否有一个好的(最好是小的)库解析这些字符串并将它们转换为日期?
答案 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的行。