设计对三国演义的文本文件进行分析,将其中包含成语“足智多谋”的多处的文本前20字到后20个字的文字都进行屏幕输出,并将其存放在一个“足智多谋.txt”文件中。要求每行文本输出和存放文件前,加上该处是第几次出现“足智多谋,以及在原小说中的行号(段落号)。
输出格式参考如下,其中5,表示第5次出现,行号为1001。
import tkinter.filedialog as fdg
file_name = fdg.askopenfilename()
with open(file_name, encoding="utf-8") as f:
print(f.read())
如果用上述程序运行的话,该怎么设计呢
import tkinter.filedialog as fdg
file_name = fdg.askopenfilename()
with open(file_name, encoding="utf-8") as f:
lines = f.readlines()
output_file = open("足智多谋.txt", "w", encoding="utf-8")
count = 0
for i, line in enumerate(lines):
if "足智多谋" in line:
count += 1
start_index = line.index("足智多谋")
text = line[max(start_index - 20, 0):start_index + 20]
output = f"第{count}次出现,行号为{i+1},前后共40个字:{text}"
print(output)
output_file.write(output + "\n")
output_file.close()