在文本文件中搜索包含今天的d的字符串

2024-05-14 13:15:57 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

正如你在下面看到的,它用绳子拉所有的线,但是我只想要用今天的日期创建的线

我要搜索的是=“触发器:报警警报\u on \u 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信息报警触发:报警警报开启0:@2019-08-03 21:18:34

如果真的有可能,我不想让整行只显示:报警警报\u开启\u 0:@2019-08-03 21:18:34


Tags: 字符串ininfo报警onwithline警报
2条回答

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

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])

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

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

相关问题 更多 >

    热门问题