首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AttributeError:'list‘对象没有属性'split’-使用croniter - stdout - Python打印下一个crontab计划作业。

AttributeError:'list‘对象没有属性'split’-使用croniter - stdout - Python打印下一个crontab计划作业。
EN

Stack Overflow用户
提问于 2018-12-02 16:05:57
回答 1查看 244关注 0票数 0

我需要读取/etc/crontab文件的内容。

现在我有一个:

代码语言:javascript
复制
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。

现在它把我扔到:

代码语言:javascript
复制
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,但还没有使用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-02 17:35:10

croniter处理单个cron表达式。您应该在循环中使用它,并将其分别应用于每一行:

代码语言:javascript
复制
for x in f1:
    cron = croniter.croniter(x, now) # Here!
    cron.get_next(datetime.datetime)
    print(x)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53582053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档