如何根据条件解析Python中的文本文件

0 投票
1 回答
564 浏览
提问于 2025-04-18 16:18

我有一个文本文件,我想根据某个条件来解析它。具体来说,就是如果我在某一行找到了匹配的短语,我就需要跳到下一行去获取值(不幸的是,报告日志就是这样生成的)。我创建了一个叫 _dict 的东西,用来检查我的关键字,并在下一行获取我的值。

Lines = f1.readlines()
numlines = len(Lines)
f1.close()
f1 = open('Testlog.txt','r')
f2 =open('writetoFile','r+') 
f3 =open('Results.txt','w')
new_line="Test Name       SubTest         passed      failed         status  "
f3.write(new_line)
f3.write("\n")
while i < numlines:

        line=f1.readline()
        if "Test Name" in line:

            f2.write(line)
            i=i+1
            line =f1.readline()

            if "true" in line:
                f2.write(line)
                line = line.strip('\n ')
                #print line
                data = re.split(r"\s{2,}",line)
                Test_Name=data[4]
                SubTest=data[6]
                passed=data[7]
                failed=data[8]
                status=data[9]
                result = Test_Name + "            " + SubTest + "      " +  passed + "         " + failed + "      "   +  status
                print result 

                f3.write(result)
                f3.write("\n")
                i=i+1

我在想有没有更好的方法来做到这一点。

1 个回答

0

你是怎么处理这一行的?能不能发一些示例代码,这样会更有帮助。

关于你的第二个问题,你可以创建一个字典,每个键对应一个列表,然后你可以用一个循环来遍历每个值(或者你需要的其他东西)。

    foo = { 1 : ['a','b','c'] }

    for value in foo[1]:
        print(value)

打印 a b c

撰写回答