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:

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

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:

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.

Make your mark

Join the writer's program

Are you a developer and love writing and sharing your knowledge with the world? Join our guest writing program and get paid for writing amazing technical guides. We'll get them to the right readers that will appreciate them.

Write for us
Writer of the month
Marin Bezhanov
Marin is a software engineer and architect with a broad range of experience working...
Build on top of Better Stack

Write a script, app or project on top of Better Stack and share it with the world. Make a public repository and share it with us at our email.

or submit a pull request and help us build better products for everyone.

See the full list of amazing projects on github