如何解析 python 中特定文本后的行
How to parse lines after a certain text in python
我正在尝试解析一个文本文件。我只需要它的某些行。我需要搜索“工具>退出”
并解析之后的所有行,直到倒数第二行。这是我要解析的文本 -
complete
line:567 finish;
tool> exit
Finish Failed Myname
0 0 ABC_dog_ctl
5 1 ABC_cator_t
34 0 ABC_cator_t
0 0 ABC_cator_t
Total = 12, Failing = 4
summary at 70s
TOOL: mytool
我只想解析 -
Finish Failed Myname
0 0 ABC_dog_ctl
5 1 ABC_cator_t
34 0 ABC_cator_t
0 0 ABC_cator_t
Total = 12, Failing = 4
summary at 70s
我正在尝试类似 -
my_list = []
for line_no, line in enumerate(Infile):
if "tool> exit" in line:
start_line = line_no
my_list.append[line+1]
但我没有得到想要的结果。 “TOOL”有多个实例,所以我无法搜索它,但它是最后一行,所以我想我总是可以寻找它上面的行。
是这样的吗?
my_list = []
reached_tool_exit = False
for line in Infile:
if "tool> exit" in line:
reached_tool_exit = True
if reached_tool_exit:
my_list.append(line)
my_list = my_list[:-1]
编辑:
实际上,您应该使用 del my_list[-1]
而不是 my_list = my_list[:-1]
。这样效率更高。
我正在尝试解析一个文本文件。我只需要它的某些行。我需要搜索“工具>退出” 并解析之后的所有行,直到倒数第二行。这是我要解析的文本 -
complete
line:567 finish;
tool> exit
Finish Failed Myname
0 0 ABC_dog_ctl
5 1 ABC_cator_t
34 0 ABC_cator_t
0 0 ABC_cator_t
Total = 12, Failing = 4
summary at 70s
TOOL: mytool
我只想解析 -
Finish Failed Myname
0 0 ABC_dog_ctl
5 1 ABC_cator_t
34 0 ABC_cator_t
0 0 ABC_cator_t
Total = 12, Failing = 4
summary at 70s
我正在尝试类似 -
my_list = []
for line_no, line in enumerate(Infile):
if "tool> exit" in line:
start_line = line_no
my_list.append[line+1]
但我没有得到想要的结果。 “TOOL”有多个实例,所以我无法搜索它,但它是最后一行,所以我想我总是可以寻找它上面的行。
是这样的吗?
my_list = []
reached_tool_exit = False
for line in Infile:
if "tool> exit" in line:
reached_tool_exit = True
if reached_tool_exit:
my_list.append(line)
my_list = my_list[:-1]
编辑:
实际上,您应该使用 del my_list[-1]
而不是 my_list = my_list[:-1]
。这样效率更高。