python – How to read a file line-by-line into a list?
python – How to read a file line-by-line into a list?
This code will read the entire file into memory:
with open(filename) as file:
lines = file.readlines()
If you want to remove all whitespace characters (newlines and spaces) from the end of each line, use this instead:
with open(filename) as file:
lines = [line.rstrip() for line in file]
(This avoids allocating an extra list from file.readlines()
.)
If youre working with a large file, then you should instead read and process it line-by-line:
with open(filename) as file:
for line in file:
print(line.rstrip())
In Python 3.8 and up you can use a while loop with the walrus operator like so:
with open(filename) as file:
while line := file.readline():
print(line.rstrip())
See Input and Ouput:
with open(filename) as f:
lines = f.readlines()
or with stripping the newline character:
with open(filename) as f:
lines = [line.rstrip(n) for line in f]
python – How to read a file line-by-line into a list?
This is more explicit than necessary, but does what you want.
with open(file.txt) as file_in:
lines = []
for line in file_in:
lines.append(line)