首页 > 解决方案 > python文本文件解析和打印

问题描述

我有一个 300 行的文本文件。我在每一行中寻找一个单词“ABC”如果找到这个单词,我想在找到之前打印该行,然后打印下 X 行。这是我到目前为止的代码,但我不知道如何根据给定的问题陈述进行打印。


path = ('C:\\Users\\40081\\PycharmProjects\\datalog_parsing')

count2=1
count1=1
num_lines = open('BBCnt123.txt').read().count('\n')
print (num_lines)
count2=count1
while count2<=num_lines:
    file_name = open("BBCnt123.txt", 'r+')
    f= open('BBCnt1234' + '.txt', 'w+')
    for line_no, line in enumerate (file_name):
        line=f.readlines()
        if "BBCnt" in line:
            f.writelines((line[count2-1]) )
        count2= count2+1
file_name.close()
f.close()

标签: pythonparsingtext

解决方案


with open("file.txt","r") as f:
    lines=f.readlines()
    [print(lines[c-1]+lines[c:c+X]) for c,e in enumerate(lines) if "ABC" in e]

试试这个列表理解


推荐阅读