How to Read a Text File and Print Its Contents in Python
-
Method 1: Using the
open()
Function - Method 2: Using a Context Manager
- Method 3: Reading Line by Line
- Conclusion
- FAQ

Reading a text file and printing its contents is a fundamental skill for anyone learning Python. Whether you’re analyzing data, processing logs, or simply displaying text, knowing how to handle files is essential.
This article will guide you through the simplest and most direct methods to read a text file and print its contents to the screen using Python. We’ll cover various approaches, ensuring you understand each step along the way. By the end of this article, you’ll be equipped with the knowledge to handle text files in Python confidently.
Method 1: Using the open()
Function
One of the most straightforward ways to read a text file in Python is by using the built-in open()
function. This method allows you to open a file, read its contents, and then print them out. Here’s how you can do it:
file = open('example.txt', 'r')
content = file.read()
print(content)
file.close()
Output:
This is an example text file.
It contains multiple lines of text.
Each line is printed when the file is read.
In this code snippet, we first open the file named example.txt
in read mode ('r'
). The read()
method reads the entire content of the file and stores it in the variable content
. We then print the content to the screen. Finally, it’s important to close the file using file.close()
to free up system resources. This method is efficient for smaller files, as it loads the entire content into memory at once.
Method 2: Using a Context Manager
Another effective way to read a text file in Python is by using a context manager with the with
statement. This method not only simplifies the code but also automatically handles file closing, making it a safer option. Here’s how it looks:
with open('example.txt', 'r') as file:
content = file.read()
print(content)
Output:
This is an example text file.
It contains multiple lines of text.
Each line is printed when the file is read.
In this method, the with
statement ensures that the file is properly closed after its suite finishes, even if an error occurs. This makes it a best practice to use context managers when dealing with files. The process remains the same: we open the file, read its contents, and print them. The simplicity of this approach enhances readability and reduces the risk of memory leaks, making it ideal for most applications.
Method 3: Reading Line by Line
For larger files or when you only need to process the file line by line, you can read the file incrementally. This method is memory efficient and allows you to handle each line as it is read. Here’s how to implement it:
with open('example.txt', 'r') as file:
for line in file:
print(line, end='')
Output:
This is an example text file.
It contains multiple lines of text.
Each line is printed when the file is read.
In this snippet, we again use the with
statement to open the file. Instead of reading the entire content at once, we iterate through each line of the file using a for
loop. The print(line, end='')
statement prints each line without adding an extra newline, ensuring the output appears as it does in the file. This method is particularly useful for processing large files, as it minimizes memory usage by loading one line at a time.
Conclusion
Reading a text file and printing its contents in Python is a straightforward task that can be accomplished in several ways. Whether you choose to read the entire file at once, use a context manager for safety, or process the file line by line, Python offers flexible methods to suit your needs. As you become more comfortable with these techniques, you’ll find them invaluable for a variety of programming tasks. Start experimenting with these methods today, and enhance your Python file-handling skills.
FAQ
-
How do I handle file not found errors when reading a file?
You can use a try-except block to catch the FileNotFoundError and handle it gracefully. -
Can I read files other than text files using these methods?
Yes, you can read binary files, but you’ll need to open them in binary mode. -
What is the difference between
read()
andreadline()
?
Theread()
method reads the entire file at once, whilereadline()
reads one line at a time. -
Is it necessary to close the file after reading it?
While Python automatically closes files when using a context manager, it is a good practice to close files manually if you useopen()
without a context manager.
- Can I read files from a URL using these methods?
No, these methods are for local files. For reading files from a URL, you would typically use libraries likerequests
.