gpt4 book ai didi

python - 在python中复制匹配字符串前后的几行

转载 作者:太空宇宙 更新时间:2023-11-03 17:25:38 25 4
gpt4 key购买 nike

我是 python 新手,尝试编写一个脚本来复制找到匹配字符串之前的 5 行和之后的 5 行

import re

text_file = open(input("Input-file name : ") , "r")
fi = text_file.readlines()

test = re.compile(r'matching character')

for i in range (len(fi)):
if test.search(fi[i]):
print(fi[max(0, i-5)])
print(fi[max(0, i-4)])
print(fi[max(0, i-3)])
print(fi[max(0, i-2)])
print(fi[max(0, i-1)])
print(fi[max(0, i-0)])
print(fi[max(0, i+1)])
print(fi[max(0, i+2)])
print(fi[max(0, i+3)])
print(fi[max(0, i+4)])

有没有比添加多个打印语句更好的方法来在一个命令中获取输出。

最佳答案

假设匹配的行包含在“after”的5行中,则:

    block = fi[max(0, i - 5): min(len(fi), i + 5)]

会给你一个行列表。要将列表打印为一个 block ,您可以执行以下操作:

    print(''.join(block))

关于python - 在python中复制匹配字符串前后的几行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32611325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com