如何根据条件在python中解析文本文件

时间:2014-08-06 21:29:29

标签: python parsing text

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

解析这条线的方法是什么?您可以发布示例代码,这将有所帮助。

要回答你的第二个问题,你可以创建一个字典,其中每个键引用一个List,然后你可以使用for循环迭代每个值(或你需要的任何东西)

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

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

打印b c