如何根据条件解析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
我在想有没有更好的方法来做到这一点。
1 个回答
0
你是怎么处理这一行的?能不能发一些示例代码,这样会更有帮助。
关于你的第二个问题,你可以创建一个字典,每个键对应一个列表,然后你可以用一个循环来遍历每个值(或者你需要的其他东西)。
foo = { 1 : ['a','b','c'] }
for value in foo[1]:
print(value)
打印 a b c