How to Print the Content of a .txt File in Python?

4.2/5 - (6 votes)

Problem Formulation

Given the path to a text file such as /path/to/file.txt.

How to read all the content from the file and print it to the Python standard output?

Standard File Reading and Printing

The standard approach to read the contents from a file and print them to the standard output works in four steps:

  1. Open the file.
  2. Read the content.
  3. Print the content.
  4. Close the file.

Let’s dive into each of those four steps next.

Here’s how this whole process looks like on my computer:

How to Print the Content of a .txt File in Python?

Step 1: Open the file for reading using the built-in open() function with the text file path as the first string argument and the reading mode 'r' as the second argument. Assign the resulting file object to a variable (e.g., named f).

f = open('/path/to/file.txt', 'r')

Step 2: Read the whole textual content from the file using the file.read() method and store it in a variable (e.g., named content). If your file consists of multiple lines, the resulting string will contain newline characters '\n' for each line break.

content = f.read()

Step 3: Print the file content by passing the content variable into the built-in print() function.

print(content)

Step 4: Close the file to clean up your code. This is a good practice according to the Python standard.

f.close()

Taken together, the proper code to read the contents of a text file and print it to the standard output looks like this:

f = open('/path/to/file.txt', 'r')
content = f.read()
print(content)
f.close()

Please note that you need to replace the string '/path/to/file.txt' with your own path to the file you want to read.


Do you need some more background? No problem, watch my in-depth tutorial about Python’s open() function:

Python open() Function – An 80/20 Guide by Example

How to Read all Lines of a File into a List (One-Liner)?

You can also read all lines of a file into a list using only a single line of code:

print([line.strip() for line in open("file.txt")])

To learn how this works, visit my in-depth blog article or watch the following video tutorial:

Python One-Liners - Trick 2 Read File and Strip() Lines

How to Read a File Line-By-Line and Store Into a List?

A more conservative, and more readable approach of achieving this is given in the following code snippet:

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

# Remove whitespace characters like '\n' at the end of each line
lines = [x.strip() for x in content]
print(lines)

You can see this in action in this blog tutorial and the following video guide:

How to Read a File Line By Line and Store Into a List

Hey, you’ve read over the whole article—I hope you learned something today! To make sure your learning habit stays intact, why not download some Python cheat sheets and join our free email academy with lots of free Python tutorials?