我有两个测试文件。 File1 - 许多标题,文件2 - 标题和描述。 我需要从文件1中读取一行,即标题,并在文件2中找到匹配的标题并打印描述,直到“END”行 我尝试使用islice和f.next()但不起作用
with open('H:/Python/proj1/p4 faults.swi', 'r') as content_file:
content = content_file.readlines()
for x in ViolList:
for i, line in enumerate(content):
line =line.upper()
x1 = x1.upper()
if x1 in line :
count = count + 1
outFile.write(line)
outFile.write(content_file.next())
if line.strip()== 'End':
break
答案 0 :(得分:0)
您的代码存在一些问题,包括引用尚未定义的变量x1
,以及定义未使用的count
和i
变量。试图让content_file.next()
赢得工作,因为您在致电content_file.readlines()
时已经阅读了所有内容。
而是做这样的事情:遍历内容;如果一行包含标题,则设置一个标志并将该行写入输出文件;该标志将为True,循环将继续写入行,直到遇到“结束”。
with open('titles', 'r') as titles_file:
titles = [title.strip().upper() for title in titles_file]
description = False
with open('H:/Python/proj1/p4 faults.swi', 'r') as content, open('outfile.txt') as output:
for line in content:
if description:
output.write(line)
if line.strip().upper() == "END":
description = False
elif line.strip().upper() in titles:
output.write(line)
description = True