我有一个很大的文件,像这样:
[图案1] 第1行 线2 第 3 行 ... ... [结束模式] [模式2] 第1行 线2 ... ... [结束模式]
我需要在另一个文件中提取变量起始模式 [PATTERN1] 和另一个定义模式 [END PATTERN] 之间的行,仅用于某些特定的起始模式。
例如:
[模式2] 第1行 线2 ... ... [结束模式]
我已经使用以下代码使用较小的文件做同样的事情:
FILE=open('myfile').readlines()
newfile=[]
for n in name_list:
A = FILE[[s for s,name in enumerate(FILE) if n in name][0]:]
B = A[:[e+1 for e,end in enumerate(A) if 'END PATTERN' in end][0]]
newfile.append(B)
其中 'name_list' 是一个包含我需要的特定启动模式的列表。
有用!!但我想有更好的方法来处理大文件,而不使用 .readlines() 命令。
任何人都可以帮助我吗?
多谢!