Read a file line by line into a list Python

David Y.
jump to solution

The Problem

In Python, how do I read a file and store each line in a list?

The Solution

We can read the lines of a file into a list by opening the file and looping through it using a list comprehension:

with open('myfile.txt') as f:
    lines = [line.rstrip() for line in f]

The with syntax ensures that the file will be closed once our list is assembled. rstrip() is a string method that removes trailing whitespace and newlines.

Note that for sufficiently large files, this operation could become slow and memory intensive, and, depending on the purpose of our script, it may be more efficient to apply a function to each line as it’s read in rather than storing each line in a list for later manipulation. For example:

with open('myfile.txt') as f:
    for line in f:
        process(line)

def process(line):
    # insert line processing code here

Considered "not bad" by 4 million developers and more than 150,000 organizations worldwide, Sentry provides code-level observability to many of the world's best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.

Sentry