使用此方法:
import croniter
import datetime
import re
import time
from sys import argv
now=datetime.datetime.now()
def main():
filename=open(sys.argv[1])
f1 = filename.readlines()
for x in f1:
if not re.match('^[0-9*]', x):
continue
a = re.split(r'\s+', x)
cron = croniter.croniter(' '.join(a[:5]), now)
print("%s %s" % (cron.get_next(datetime.datetime), ' '.join(a[5:])))
if __name__ == "__main__":
main()
我的目标是打开一个文件(一个crontab文件,在stdin上提供),但是这行:filename=open(sys.argv[1])
给了我这样的提示:
Traceback (most recent call last):
File "cron.py", line 25, in <module>
main()
File "cron.py", line 13, in main
filename=open(sys.argv[1])
IndexError: list index out of range
我使用这样的脚本:python cron.py < /etc/crontab
我仔细检查了以这种方式打开文件的示例,结果似乎还不错。你知道吗
有什么想法吗?你知道吗
这将适用于
python cron.py /etc/crontab
。你知道吗但是,您没有参数,而是使用
stdin
输入更改为:
(不要关上)
旁白:
filename
是错误的选择,因为它是一个文件句柄。这增加了输入流和输入文件之间的混淆。你知道吗相关问题 更多 >
编程相关推荐