web-dev-qa-db-ja.com

crontabスタイルの行の解析

Python(e.g。00 3 * * *)でcrontabのようなスケジュール定義を解析し、これが最後に実行されるべき場所を取得する必要があります。

これらの文字列を解析して日付に変換する優れた(できれば小さい)ライブラリはありますか?

22
Krumelur

おそらく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)
47
HAL

多分あなたはこのモジュールを使うことができます:

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

このモジュールを使用して、Pythonでユーザースペースのcronを作成しましたが、非常にうまく機能します。このモジュールはcrontabのような行を処理できます。

1
Diego Navarro