How to read a file line-by-line in Python?

Better Stack Team
Updated on February 3, 2023

To read a file line-by-line in Python, you can use the following approach:

 
with open('file.txt') as f:
    for line in f:
        print(line)

This will open the file, read each line in the file, and then print the line. The with statement is used to open the file and automatically close it when the block of code inside the with statement is completed.

If you want to do something more complex with each line, you can use a loop to iterate over the lines in the file and process each line as needed.

 
with open('file.txt') as f:
    for line in f:
        # do something with the line
        process_line(line)

You can also read all the lines of a file into a list and then process the lines using the list methods.

 
with open('file.txt') as f:
    lines = f.readlines()

# do something with the lines
for line in lines:
    process_line(line)

Both of these approaches have the advantage of reading the file one line at a time, which can be useful for very large files that don't fit in memory.

Got an article suggestion? Let us know
Explore more
Licensed under CC-BY-NC-SA

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

We are hiring.

Software is our way of making the world a tiny bit better. We build tools for the makers of tomorrow.

Explore all positions →