Read a file line by line into a list Python

David Y.

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
Join the discussionCome work with us
Share on Twitter
Bookmark this page
Ask a questionImprove this Answer

Related Answers

A better experience for your users. An easier life for your developers.

© 2023 • Sentry is a registered Trademark
of Functional Software, Inc.