如何从包含特定字符串的行开始解析Python中的文件


import re
with open('dio.txt') as f:
for line in f:
y = re.match('^Value   Node', line)
if y:
next
line = line.rstrip()
x = re.match('(^d+)', line)
print(x)

文件(dio.txt)包含以下数据

fgetip:获取测试的最大值第45个值是Max7176 80 pgp428656年18 pxp00…日志文件未保存

Value节点状态码7724 79G7P42 TTP7R_MxT72 Test-Failed
7729 79M7M7S TTP7R_MxT74 Test-Failed
77G2P72 TTP7R_MxT75 Test-Failed
79G7P22 TTP7R_MxT77 Test-Failed
7760 78D07A7 TTP7R_MxT77 Test-Failed
7775 77A2I7R TTP7R_CxT75 Test-Failed
77A2I2R TTP7R_CxT73 Test-Failed
77A0I3R TTP7R_CxT76 Test-Failed
77A2I2R TTP7R_CxT73 Test-Failed
77A2I2R TTP7R_CxT73 Test-Failed
77A0I3R TTP7R_CxT76 Test-Failed74A7I4R AVA TTP7R_CxT74 Test-Passed
7646 77R2G7M UNAVA TTP7R_CxT78 Test-Passed
7648 77R2G2M TTP7R_CxT74 Test-Passed
7973 77C2M7S TTP7R_CxT79 Test-Passed结束

第40个值为最小值7176 80 zgp498656年1 zp1p11

  1. 我需要代码开始寻找行值节点状态码然后转到下一行并开始应用代码。但是它不起作用
  2. 我需要代码来做解析(仅在行之间)从行后开始值节点状态码在这条线上结束

3)(我试图格式化上面的输入,但我不能。如何设置输入数据的格式?)

请使用内置方法。

start_parsing = False
with open('dio.txt') as f:
for line in f:
if line.startswith('Value Node State Code'):
start_parsing = True
continue # if you want to move to next line wihtout parsing information in this line
if line.endswith('End'):
start_parsing = False         
if start_parsing:
# Put your parsing logic here

最新更新