Я хочу разделить файл в соответствии с указанным c словом, и на основе этого слова я хочу указанную выше строку, затем поместил в файл newfile.txt - PullRequest
1 голос
/ 10 февраля 2020

Я хочу разделить файл на основе указанного c слова, и на основании этого слова, если он его найдет, я хочу строку над ним, затем помещаю строку над ним и слово с содержанием в файле , и он останавливается, когда он находит строку над указанным словом? Пожалуйста, помогите это мю код:

import collections
import itertools
import sys

count = 0
done = False

with open("file".txt") as in_file:
    before = collections.deque(maxlen=3)
    while not done: 
        with open(f"newfile{count}.txt", "w") as out_file:
             while not done:
                try:
                    line = next(in_file).strip() 
                except StopIteration:
                    done = True
                    break
                if "X-IronPort-RCPT-TO" in line:
                    out_file.write(line)
                    before.append('\n')

                    break
                else:

                    out_file.writelines(before)
                    out_file.write('\n')
                    out_file.write(line)

        count += 1 

1 Ответ

0 голосов
/ 10 февраля 2020

не уверен, что это то, что вы хотите

with open("file".txt") as in_file:
    lines = in_file.readlines():
    for l in range(len(lines)):
        if "X-IronPort-RCPT-TO" in lines[l]:
            line_above = lines[l-1]
...