我有以下脚本来搜索主文件中的标题列表。
头文件示例:
header1
header2
header3
一个主文件,其中包含不同格式的标题和许多其他数据。
主文件提取:
header1
line1
line2
line3
line4
header2
line1
line2
header3
line1
当我找到标题时,我希望报告它之后的每一行,直到下一个空白行。采用上面主文件摘录中的格式。
目前我可以使用下面的脚本在主文件中找到标题,但我无法报告后面的每一行。
到目前为止,所有的尝试都没有成功,我很高兴知道我的尝试是否可行。
list_file = open("header.txt")
search_words = []
for word in list_file:
search_words.append(word.strip())
list_file.close()
matches = []
master_file = open("master_file.txt")
for line in master_file:
current_line = line.split()
for search_word in search_words:
if search_word in current_line:
matches.append(line)
break
答案 0 :(得分:1)
这会有用吗?这将提取header.txt
中列出的标题内所有行的内容list_file = open("header.txt")
search_words = [word.strip() for word in list_file]
list_file.close()
matches = []
master_file = open("master_file.txt")
store = False
for line in master_file:
if not store and line.strip() and any(line.strip() in s for s in search_words):
store = True
if not line.strip():
print(line)
store = False
if store:
matches.append(line)
但是,假设您的文件结构遵循您发布的内容。不处理例如缺少空白行或其中一行中包含的标题词等异常。