我有一个文本文件要根据条件解析,如果我在行中找到匹配短语,那么我必须跳转到下一行来获取值{不幸的是,这是生成报告日志的方式} 。我创建了_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
我想知道是否有更好的方法来做到这一点
答案 0 :(得分:0)
解析这条线的方法是什么?您可以发布示例代码,这将有所帮助。
要回答你的第二个问题,你可以创建一个字典,其中每个键引用一个List,然后你可以使用for循环迭代每个值(或你需要的任何东西)
foo = { 1 : ['a','b','c'] }
for value in foo[1]:
print(value)
打印b c