Python Academy · Lesson

Opening and Reading Files

Open text files and read their contents with read and readlines.

Lesson 1 of 414 steps

Opening and Reading Files is a free Python Academy lesson on CoddyKit. This is lesson 1 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Python Academy learning path, and your progress syncs across the web and the CoddyKit app. The Python Academy course includes 4 lessons in total.

Introduction

Python's built-in open() function gives you access to the filesystem. Reading files line by line is memory-efficient for large data.

open() Basics

f = open('file.txt', 'r') opens in read mode. Modes: 'r' read, 'w' write, 'a' append, 'b' binary.
# f = open('data.txt', 'r')
# content = f.read()
# f.close()
print('open demo')

read() Method

f.read() reads the entire file as one string. Fine for small files; avoid for multi-GB files.
# content = open('data.txt').read()
print('read demo')

readlines()

f.readlines() returns a list of lines, each ending with \n. Strips are needed: line.rstrip().
# lines = open('data.txt').readlines()
# for line in lines: print(line.rstrip())
print('readlines demo')

readline()

f.readline() reads one line at a time. Useful when you need fine-grained control or are streaming huge files.
# f = open('data.txt')
# first = f.readline()
print('readline demo')

Iterating Lines Directly

for line in f: is the most memory-efficient way — it streams one line at a time without loading the whole file.
# for line in open('data.txt'):
#     print(line.rstrip())
print('line iterator demo')

Encoding Parameter

Always specify encoding: open('file.txt', encoding='utf-8') to avoid platform-specific default encoding bugs.
# f = open('data.txt', 'r', encoding='utf-8')
print('encoding demo')

Reading Specific Bytes

f.read(100) reads at most 100 bytes/characters. f.seek(0) resets the file pointer to the start.
# f = open('data.txt')
# chunk = f.read(100)
# f.seek(0)
print('seek demo')

tell()

f.tell() returns the current byte position. Combine with seek() to jump around in a file.
# f = open('data.txt')
# f.read(5)
# print(f.tell())
print('tell demo')

Reading Binary Files

open('image.png', 'rb') opens in binary read mode. Returns bytes objects, not strings.
# with open('image.png', 'rb') as f:
#     header = f.read(4)
print('binary read demo')

Always Close Files

f.close() releases the OS file handle. If your code raises before close(), the handle leaks. Use with to avoid this.
# f = open('data.txt')
# try:
#     content = f.read()
# finally:
#     f.close()
print('close demo')

Quick Check

Which method reads one line at a time from a file object?

Recap

open(path, mode, encoding) opens files. read() gets all content. readline() gets one line. Iterate the file object directly for efficiency. Always close files.

Keep Going

Great work! Move on to the next lesson to keep progressing.
Free to start

Learn Python with an AI tutor — free

Write and run real code in your browser, get instant help from a 24/7 AI tutor, and pick up where you left off on the web or in the app.

Courses
76
Lessons
320

Frequently Asked Questions

Is the “Opening and Reading Files” lesson free?

Yes — the full text of “Opening and Reading Files” is free to read here on the web. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Python Academy course, upgrade to CoddyKit PRO. The Python Academy course includes 4 lessons in total.

What will I learn in “Opening and Reading Files”?

Open text files and read their contents with read and readlines. You practise Python Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Python Academy?

No prior experience is required. Python Academy on CoddyKit is structured for beginners through advanced learners, so you can start here or from the beginning and move at your own pace. This is lesson 1 of 4.

How long does the “Opening and Reading Files” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Python Academy lesson?

Yes. Every Python Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Opening and Reading Files
  2. Writing and Appending to Files
  3. Using the with Statement for Files
  4. Working with File Paths using pathlib
← Back to Python Academy