我需要读取/etc/crontab文件的内容。
现在我有一个:
import croniter
import datetime
now = datetime.datetime.now()
def main():
f = open("/etc/crontab","r")
f1 = f.readlines()
cron = croniter.croniter(f1, now)
for x in f1:
cron.get_next(datetime.datetime)
print(x)
if __name__ == "__main__":
main()我想要的是在下一次任务运行时打印,根据我的crontab文件中定义的内容,我已经遵循了this answer,但是我需要从一个文件(crotab文件)中实际读取它,然后将它打印到stdout。
现在它把我扔到:
Traceback (most recent call last):
File "cron.py", line 17, in <module>
main()
File "cron.py", line 11, in main
cron = croniter.croniter(f1, now)
File "/home/user/.virtualenvs/rest_tails2/lib/python3.6/site-packages/croniter/croniter.py", line 92, in __init__
self.expanded, self.nth_weekday_of_month = self.expand(expr_format)
File "/home/user/.virtualenvs/rest_tails2/lib/python3.6/site-packages/croniter/croniter.py", line 464, in expand
expressions = expr_format.split()
AttributeError: 'list' object has no attribute 'split'对此有什么想法吗?我对croniter非常陌生,也有python-crontab,但还没有使用。
发布于 2018-12-02 17:35:10
croniter处理单个cron表达式。您应该在循环中使用它,并将其分别应用于每一行:
for x in f1:
cron = croniter.croniter(x, now) # Here!
cron.get_next(datetime.datetime)
print(x)https://stackoverflow.com/questions/53582053
复制相似问题