所以即时阅读这样的文件。
f = open("log.txt", 'w+r')
f.read()
所以f现在有一堆行,但我主要关心它有一个数字,然后是一个特定的字符串(例如“COMPLETE”将是字符串)
怎么样......你到底要检查一下吗? 我以为它会像:
r.search(['[0-9]*'+,"COMPLETE")
但这似乎不起作用?也许这是我的正则表达式错了(我非常可怕) 但基本上它只需要检查整个字符串(多行和包含数字的\ n(特别是200)和单词COMPLETE(在大写字母中)
编辑:这里的参考是日志文件的样子
Using https
Sending install data... DONE
200 COMPLETE
<?xml version="1.0" encoding="UTF-8"?>
<SolutionsRevision version="185"/>
我只需要确保它说“200”并完成
答案 0 :(得分:5)
如果您只是寻找“200 COMPLETE”,那么正则表达式在这里是过度的。就这样做:
if "200 COMPLETE" in log:
# Do something
答案 1 :(得分:1)
应该是
m = r.search('[0-9]+\s+COMPLETE',line)
答案 2 :(得分:1)
您应该使用Rafe's answer而不是正则表达式来搜索文件内容中的“200 COMPLETE”,但是当前代码无法使用"w+r"
来读取文件,因为模式将截断你的档案。你需要做这样的事情:
f = open("log.txt", "r")
log = f.read()
if "200 COMPLETE" in log:
# Do something