【问题标题】:python text file parse and printpython文本文件解析和打印
【发布时间】:2018-12-30 12:44:07
【问题描述】:

我有一个 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()

【问题讨论】:

  • 下 X 行?是否要包含要打印 ABC 的行?
  • 你可能会觉得this很有趣
  • 是的,我也希望包含带有 ABC 的行。

标签: python parsing text


【解决方案1】:
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]

试试这个列表理解

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    相关资源
    最近更新 更多