基于条件的python文本文件解析

2024-05-04 08:45:24 发布

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

我有一个文本文件,我想根据这样的条件来解析它:如果我在行中找到匹配短语,那么我必须跳到下一行来获取值{不幸的是,报告日志就是这样生成的}。我创建了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

不知道我是否可以做得更好


Tags: nametestdatastatuslineresultopenwrite
1条回答
网友
1楼 · 发布于 2024-05-04 08:45:24

你分析这行的方法是什么?你能把示例代码贴出来吗,那会有帮助的。在

为了回答您的第二个问题,您可以制作一个字典,其中每个键都引用一个列表,然后您可以使用for循环遍历每个值(或者您需要的任何东西)

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

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

打印b c

相关问题 更多 >