Evan_Nt
Evan_Nt

Reputation: 75

How to remove multiple lines from a file with python

I'm trying to remove lines from a file using this code:

with open('example_file', 'r') as file:
    file_content = file.readlines()
file.close()
            
with open('example_file', 'w') as new_file:
    for line in file_content:
        if line.strip("\n") != 'example_line_1':
            new_file.write(line)
new_file.close()

This works well for one line but how can I remove other (multiple) lines as well?

Upvotes: 0

Views: 1131

Answers (1)

SandWood Jones
SandWood Jones

Reputation: 104

You could do it using and.

...

with open('example_file', 'w') as new_file:
    for line in file_content:
        currentLine = line.strip("\n")
        if currentLine != 'example_line_1' and currentLine != 'example_line_2':
            new_file.write(line)
new_file.close()

but that gets too big, too fast. You could also use an array with words you wish to remove from a line and then just check if the current line consists of any of those words:

...
words = ["example_line_1", "example_line_2", "foobar"]
with open('example_file', 'w') as new_file:
    for line in file_content:
        currentLine = line.strip("\n")
        if currentLine not in words:
            new_file.write(line)
new_file.close()

Upvotes: 2

Related Questions