与此问题类似,我想从 APScheduler 中提取 cron 作业触发器的信息。但是,我需要“day_of_week”字段而不是所有内容。使用
for job in scheduler.get_jobs():
for f in job.trigger.fields:
print(f.name + " " + str(f))
我可以看到所有字段,例如week,hour,day_of_week,但是
job.trigger.day_of_week似乎是“CronTrigger”对象的“不是属性”。我很困惑这job.trigger是什么类型的对象以及它的字段是如何打包的。我试着阅读了github上的代码,但更令人费解。
如何只提取一个字段day_of_week,这个触发器类的结构如何?
潜得更深我发现
apscheduler.triggers.cron.fields.DayOfWeekField
我可以通过索引 找到job.trigger.fields[4],这看起来非常糟糕,因为它取决于字段的“位置”。我得到的是这个 DayOfWeekField,可笑的是,我也无法从中检索它的价值:
a.get_value
<bound method DayOfWeekField.get_value of DayOfWeekField('day_of_week', '1,2,3,4')>
字段的结构在此处编码,但我不知道如何处理 .dateval 的参数get_value()。
最终,在希望理解这个概念之后,我想做
if job-day_of_week contains mon
if job-day_of_week == '*'
print ( job-day_of_week )
我很感激任何建议/提示!
四季花海
相关分类