在文本文件中搜索包含当前日期的字符串



我想在今天的日期搜索某个字符串的文本文件,这就是我到目前为止的

with open('//HASSIO/config/appdaemon/appdaemon.log', 'r') as searchfile:
    for line in searchfile:
        if 'INFO alarm Trigger: alarm Alert_on_0: @ ' in line:
            print line

正如您在下面看到的那样

我想搜索的是="触发:alarm alter_on_0: @当前日期"

C:WINDOWSsystem32>python c:scriptstest.py
2019-08-01 10:54:12.301668 INFO alarm Trigger:alarm Alert_on_0: @ 2019-08-01 21:18:56
2019-08-01 15:46:48.797446 INFO alarm Trigger:alarm Alert_on_0: @ 2019-08-01 21:07:23
2019-08-01 16:27:49.101543 INFO alarm Trigger:alarm Alert_on_0: @ 2019-08-01 21:10:46
2019-08-01 19:31:04.752357 INFO alarm Trigger:alarm Alert_on_0: @ 2019-08-01 21:24:19
2019-08-02 03:00:00.163624 INFO alarm Trigger:alarm Alert_on_0: @ 2019-08-02 21:23:59
2019-08-02 13:07:51.993228 INFO alarm Trigger:alarm Alert_on_0: @ 2019-08-02 21:24:41

2019-08-03 19:22:49.987171信息警报触发器:警报警报_on_0: @ 2019-08-03 21:18:34

>

如果真的可能,我不需要全行:警报alert_on_0: @ 2019-08-03 21:18:34

添加到Jammy Dodger的答复中并回答您的第二个问题(仅在Trigger:之后打印文本(:

print(line.split('Trigger:')[1])

这应该得到今天的日期并搜索

from datetime import date
today = date.today()
# YYYY-mm-dd
d1 = today.strftime("%Y-%m-%d")
print(d1)
with open('//HASSIO/config/appdaemon/appdaemon.log', 'r') as searchfile:
    for line in searchfile:
        if 'INFO alarm Trigger: alarm Alert_on_0: @ '+d1 in line:
            print(line.split('Trigger:')[1])

最新更新