Python Forum
Delete line before and after needle
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Delete line before and after needle
#4
Or, just don't write a line unless the previous line is fine.
text_to_avoid = "bad"

with open("original.txt") as infile:
    with open("out.txt", "w") as outfile:
        last_line = ""
        line_before_last = ""
        for ndx, line in enumerate(infile):
            if ndx >= 2:
                if text_to_avoid not in line.lower() \
                        and text_to_avoid not in last_line.lower() \
                        and text_to_avoid not in line_before_last.lower():
                    print(last_line, file=outfile)
            line_before_last = last_line
            last_line = line
        if text_to_avoid not in last_line.lower() \
                and text_to_avoid not in line_before_last.lower():
            print(last_line, file=outfile)
Reply


Messages In This Thread
Delete line before and after needle - by fpsnick - Nov-08-2017, 11:00 AM
RE: Code Help - by metulburr - Nov-08-2017, 01:59 PM
RE: Delete line before and after needle - by nilamo - Dec-15-2017, 06:25 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Find and delete above a certain line in text file cubangt 12 3,539 Mar-18-2022, 07:49 PM
Last Post: snippsat
  [Solved] Delete a line in a dataframe using .reset_index() and .drop() ju21878436312 2 2,708 Feb-25-2022, 02:55 PM
Last Post: ju21878436312
  Delete all contents of a file from the fifth line? PythonNPC 1 1,914 Apr-18-2020, 09:16 AM
Last Post: buran
  Compare element of list with line of file : if match, delete line silfer 4 3,538 Jul-21-2018, 02:44 PM
Last Post: silfer
  delete line from a text file thesisonews 2 27,561 Mar-20-2018, 08:30 PM
Last Post: nilamo

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020