一个处理crontab语法的小工具

cronparse的Python项目详细描述


Cronparse公司

一个测试crontab类语法的简单工具。在

使用

>>> from cronparse import Cron
>>> c = Cron('*/5 * * * 0')  # Matches only on Mondays, every 5th minute
>>> from datetime import datetime
>>> d = datetime(2020, 4, 13, 11, 5)
>>> c.matches(d)
True
>>> d = d.replace(minute=6)
>>> c.matches(d)
False
>>> d = d.replace(day=14, minute=5)
>>> c.matches(d)
False
>>> c.why(d) # Ask which fragment of the rule did not match
[True, True, True, True, False]

crontab规则语法

支持的语法:

  1. *-匹配任何值
  2. 1-精确匹配值
  3. */5-每5个值匹配
  4. 1,3,4-匹配列表中的值
  5. 1-3-匹配范围内的值
  6. 1-3,7,*/2-组合!在
  7. @每年,@每年,@每月,@每周,@每天,@午夜,@每小时

不支持的语法:

  • 日名称
  • 月份名称
  • @重新启动

时区支持

或者,您可以传递一个datetime.tzinfo作为第二个参数。它 默认为datetime.timezone.utc。在

任何通过测试的datetime将首先移动到该时区。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java类之间并发性不一致的HashMap   插件如何在JavaSwing中使用UIManager和Classloader从外部jar安装外观?   java JasperReports:找不到子报表   在项目中找不到java生成的Javadoc文件   java BigDecimal。multiply()和divide()方法返回十六进制数。为什么?   java统计出现次数并从字符串中删除重复项   调用运算符时发生java NullPointerException   Spring和Hibernate之间的java配置错误   JavaZK将用户重定向回上一页   Javasocket为传出连接指定特定的网络接口   如果拖动到某个区域外,java Make按钮操作将被取消   如何在Eclipse for selenium 3.141.59中添加Java文档链接   java从匹配条件的数组中获取所有索引   docker未连接到RemoteWebDriver的java Gitlab ci selenium测试   java重写run方法   utf 8如何使用java解码UTF8编码的字符串?   java如何从eclipse调试部署在tomcat上的web应用程序?   将字母字符与前面没有百分号的Java正则表达式匹配