0Pricing
Python Academy · Lesson

Opening and Reading Files

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

Opening and Reading Files is a free Python Academy lesson on CoddyKit — 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, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

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.

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, and the Python Academy course includes 4 lessons in total. 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.

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; this is — lesson 1 of 4, so you can start here or from the beginning and move at your own pace.

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