Regex Python v3不一致的正则表达式匹配返回

Regex Python v3不一致的正则表达式匹配返回,regex,python-3.x,Regex,Python 3.x,我正在编写一个小的python脚本,它接受一个日志文件,匹配其中的字符串,并将它们和另一个自定义字符串“goal”保存到另一个文本文件中。然后我从第二个文件中获取一些值并将它们添加到列表中。问题是,根据自定义字符串的长度(例如“goalgoalgoal”),具有值的列表的长度不同-目前,我正在使用一个日志文件,其中包含1031个匹配字符串“goal”,但列表的长度在~980和1029之间变化 代码如下: for line in inputfile: if "Started---" in

我正在编写一个小的python脚本,它接受一个日志文件,匹配其中的字符串,并将它们和另一个自定义字符串“goal”保存到另一个文本文件中。然后我从第二个文件中获取一些值并将它们添加到列表中。问题是,根据自定义字符串的长度(例如“goalgoalgoal”),具有值的列表的长度不同-目前,我正在使用一个日志文件,其中包含1031个匹配字符串“goal”,但列表的长度在~980和1029之间变化

代码如下:

for line in inputfile:
    if "Started---" in line:
       startTime = line[11:23]
       testfile.write("\n"+"Start"+"\n"+"goal "+ startTime+"\n")
       counterLines +=1
    elif "done!" in line: 
       testfile.write("\n"+find_between(line, "| ", "done!")+"\n")
    elif "Errors:" in line:
       testfile.write("\n"+"Errors:"+line.split("Errors:",1)[1]+"\n")
    elif "Warnings:" in line:
       testfile.write("\n"+"Warnings:"+line.split("Warnings:",1)[1]+"\n")
    elif "Successes:" in line:
       testfile.write("\n"+"Successes:"+line.split("Successes:",1)[1]+"\n")
    elif "END---" in line:
       endTime = line[11:23]
       testfile.write("\n"+"End"+"\n"+"endTime "+ endTime+"\n")
    else:
       print("nothing found")

testfileread = open(filePath+"\\testFile.txt", "r")

startTimesList = []
endTimesList =   []

for line in testfileread:
    matchObj = re.match(r'goal', line)
    if matchObj:
       startTimesList.append(line)

print(len(startTimesList))
你知道为什么代码不能按预期工作吗


提前谢谢你

很可能是因为写入完成后没有刷新
testFile.txt
——因此,当您开始读取文件时,文件中的数据量无法预测。调用
testfile.flush()
应该可以解决这个问题。或者,用块将写入逻辑包装在
中。

谢谢!我想我可能错过了这样的东西,但不确定是什么。