Разбор строк в стиле 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.