Jump into concepts and practice - no test required
or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
File system interaction basics
📖 Scenario: You are creating a simple program to work with files on your computer. This program will help you create a file, write some text into it, read the text back, and then show it on the screen.
🎯 Goal: Build a Python program that creates a text file, writes a sentence into it, reads the sentence back from the file, and prints it.
📋 What You'll Learn
Create a text file named example.txt
Write the exact text 'Hello, file system!' into the file
Read the text back from example.txt
Print the text read from the file
💡 Why This Matters
🌍 Real World
Working with files is common in many programs, like saving user data, logs, or configuration settings.
💼 Career
Understanding file system interaction is essential for software developers, data analysts, and system administrators to manage data and automate tasks.
Progress0 / 4 steps
1
Create a file and write text
Create a file called example.txt and write the exact text 'Hello, file system!' into it using the open function with mode 'w' and the write method.
Python
Hint
Use with open(filename, 'w') as file: to open a file for writing, then use file.write(text) to write text.
2
Prepare to read the file
Create a variable called filename and set it to the string 'example.txt' to use it later for reading the file.
Python
Hint
Just assign the string 'example.txt' to a variable named filename.
3
Read the text from the file
Use the open function with the variable filename and mode 'r' to open the file for reading. Read the content using the read method and store it in a variable called content.
Python
Hint
Use with open(filename, 'r') as file: and then content = file.read() to read the file content.
4
Print the content read from the file
Print the variable content to display the text read from the file.
Python
Hint
Use print(content) to show the text on the screen.
Practice
(1/5)
1. What does the mode 'r' mean when opening a file with open() in Python?
easy
A. Open the file for reading only
B. Open the file for writing only
C. Open the file for appending data
D. Create a new file or overwrite existing
Solution
Step 1: Understand file modes in Python
The mode 'r' stands for reading the file only, meaning you can read data but not change it.
Step 2: Compare with other modes
Modes like 'w' are for writing (which overwrites), and 'a' is for appending. 'r' does not allow writing.
Final Answer:
Open the file for reading only -> Option A
Quick Check:
Mode 'r' = read only [OK]
Hint: Remember 'r' means read, 'w' means write, 'a' means append [OK]
Common Mistakes:
Confusing 'r' with 'w' or 'a'
Thinking 'r' creates a new file
Trying to write to a file opened with 'r'
2. Which of the following is the correct syntax to open a file named 'data.txt' for writing in Python?
easy
A. open('data.txt', 'r')
B. open('data.txt', 'w')
C. open('data.txt', 'rw')
D. open('data.txt', 'a+')
Solution
Step 1: Identify the mode for writing
The mode 'w' opens a file for writing and creates it if it doesn't exist or overwrites if it does.
Step 2: Check syntax correctness
open('data.txt', 'w') is the correct syntax. 'r' is for reading, 'rw' is invalid, 'a+' is for appending and reading.
Final Answer:
open('data.txt', 'w') -> Option B
Quick Check:
Write mode = 'w' [OK]
Hint: Use 'w' to write or overwrite files [OK]
Common Mistakes:
Using 'r' when intending to write
Using invalid mode 'rw'
Confusing 'a+' with 'w'
3. What will be the output of this code?
with open('test.txt', 'w') as f:
f.write('Hello')
with open('test.txt', 'a') as f:
f.write(' World')
with open('test.txt', 'r') as f:
print(f.read())
medium
A. Error: file not found
B. Hello
C. Hello World
D. World
Solution
Step 1: Write 'Hello' to the file
The first block opens 'test.txt' in write mode, which creates or clears the file, then writes 'Hello'.
Step 2: Append ' World' to the file
The second block opens the file in append mode and adds ' World' after 'Hello'.
Step 3: Read and print the file content
The last block reads the full content, which is 'Hello World', and prints it.
Final Answer:
Hello World -> Option C
Quick Check:
Write + append = 'Hello World' [OK]
Hint: Write clears file, append adds to end [OK]
Common Mistakes:
Expecting append to overwrite
Not closing files before reading
Confusing write and append modes
4. What is wrong with this code snippet?
f = open('log.txt', 'r')
print(f.read())
f.write('New entry')
f.close()
medium
A. File is opened in read mode but write is attempted
B. File is not closed properly
C. Missing mode argument in open()
D. File path is incorrect
Solution
Step 1: Check file mode and operations
The file is opened with mode 'r' which allows reading only.
Step 2: Identify invalid operation
Calling f.write() on a file opened in read mode causes an error because writing is not allowed.
Final Answer:
File is opened in read mode but write is attempted -> Option A
Quick Check:
Write not allowed in 'r' mode [OK]
Hint: Don't write to files opened with 'r' mode [OK]
Common Mistakes:
Trying to write without 'w' or 'a' mode
Forgetting to close files
Assuming 'r' mode allows writing
5. You want to read a file line by line and print only lines that contain the word 'error'. Which is the best way to do this in Python?
hard
A. open('log.txt', 'r').read().split('error')
B. f = open('log.txt', 'r')
lines = f.readlines()
for line in lines:
if line == 'error':
print(line)
f.close()
C. with open('log.txt', 'w') as f:
for line in f:
if 'error' in line:
print(line)
D. with open('log.txt', 'r') as f:
for line in f:
if 'error' in line:
print(line.strip())
Solution
Step 1: Use 'with' and read line by line
with open('log.txt', 'r') as f:
for line in f:
if 'error' in line:
print(line.strip()) uses 'with' to open the file safely and iterates line by line, which is memory efficient.
Step 2: Check condition and print matching lines
It checks if 'error' is in each line and prints the line without extra spaces using strip().
Final Answer:
with open('log.txt', 'r') as f:
for line in f:
if 'error' in line:
print(line.strip()) -> Option D
Quick Check:
Use 'with' + for line in file + condition [OK]
Hint: Use 'with' and loop lines to filter content [OK]
Common Mistakes:
Opening file in 'w' mode when reading
Comparing whole line to 'error' instead of substring