Разбор строк в стиле crontab

Мне нужно проанализировать определение расписания в стиле crontab в Python (например, 00 3 * * *) и получить, где это должно было быть выполнено.

Есть ли хорошая (желательно небольшая) библиотека, которая анализирует эти строки и переводит их в даты?

Ответы

Ответ 1

Возможно, пакет 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)

Ответ 2

Возможно, вы можете использовать этот модуль:

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

Я использовал этот модуль для создания пользовательского пространства cron в Python, и он работает очень хорошо. Этот модуль может обрабатывать линии crontab-like.