繁体   English   中英

在文本文件中搜索具有今天日期的字符串

[英]Search text file for string with today's date

我想在文本文件中搜索具有今天日期的特定字符串,这是我到目前为止的结果

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

正如您在下面看到的那样,它用字符串拉出所有行,但我只想用今天的日期创建行

我想搜索的是=“触发器:警报Alert_on_0:@当前日期”

C:\WINDOWS\system32>python c:\scripts\test.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信息警报触发器:警报Alert_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])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM