GCSE Computer Science
Python file handling โ GCSE Computer Science
Opening a file
Before Python can read or write a file, it needs to be opened with open(), which takes a filename and a mode.
file = open("scores.txt", "r")
The three modes GCSE exams expect
'r'โ read mode. Opens a file for reading. The file must already exist, or Python raises an error.'w'โ write mode. Opens a file for writing, creating it if it doesn't exist โ and, critically, erasing everything already in it first.'a'โ append mode. Opens a file for writing, but adds new content to the end rather than erasing what's already there.
Reading a file
file = open("scores.txt", "r")
content = file.read()
print(content)
file.close()
.read() returns the whole file as a single string. .readlines() instead returns a list, one item per line โ useful when you need to process the file line by line rather than all at once.
file = open("scores.txt", "r")
lines = file.readlines()
for line in lines:
print(line)
file.close()
Writing to a file
file = open("scores.txt", "w")
file.write("85\n")
file.write("92\n")
file.close()
Each call to .write() adds text to the file โ but because the file was opened in 'w' mode, anything that was in scores.txt before this code ran is gone the moment open() is called, not when .write() is.
Closing a file โ and the with open() pattern
Every file that gets opened should get closed โ leaving a file open can lose unsaved data or lock the file so other programs can't use it. Calling .close() explicitly works, but it's easy to forget, especially if an error happens before that line runs. The with open() pattern closes the file automatically, even if something goes wrong inside the block:
with open("scores.txt", "r") as file:
content = file.read()
print(content)
GCSE exams increasingly expect with open() as the correct, safe way to write this code โ not open() and .close() written as two separate steps.
Using 'w' mode when the intention is to add to an existing file. Write mode overwrites โ the entire previous content is lost. Append mode ('a') is what's needed.
What examiners actually test
File handling questions typically give you a scenario โ reading scores from a file, appending a new record, overwriting a log โ and ask you to choose the correct mode and write the code to match. The 'w' vs 'a' distinction catches the most marks: read the scenario carefully to work out whether existing data is meant to survive.
Python Coach covers hundreds of challenges taking students from their first print statement to advanced Python โ with progress tracking for every student.
Start your school's free trial →