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
Recall & Review
beginner
What is the basic Python command to open a file for writing?
Use open('filename', 'w') to open a file for writing. The 'w' mode means write.
Click to reveal answer
beginner
What happens if you open a file in write mode ('w') and the file already exists?
The existing file is cleared (emptied) before writing new data.
Click to reveal answer
beginner
How do you write a string to a file after opening it in write mode?
Use the write() method, like file.write('Hello').
Click to reveal answer
beginner
Why should you always close a file after writing?
Closing the file saves changes and frees system resources.
Click to reveal answer
beginner
What is a safer way to write to a file that automatically closes it?
Use a with statement, like with open('file.txt', 'w') as f: which closes the file automatically.
Click to reveal answer
What mode do you use to open a file for writing in Python?
A'x'
B'r'
C'a'
D'w'
✗ Incorrect
The 'w' mode opens a file for writing, creating it if it doesn't exist or clearing it if it does.
What does the write() method do?
AReads data from a file
BWrites data to a file
CCloses the file
DDeletes the file
✗ Incorrect
The write() method writes a string to the file.
What happens if you open a file in 'w' mode and the file already has content?
AContent is erased
BContent is appended
CError is raised
DContent is preserved
✗ Incorrect
Opening in 'w' mode erases existing content before writing.
Which Python statement ensures a file is closed automatically after writing?
Awith statement
Btry-except
Cif statement
Dwhile loop
✗ Incorrect
The with statement automatically closes the file when done.
Why is it important to close a file after writing?
ATo read data
BTo open it again
CTo save changes and free resources
DTo delete the file
✗ Incorrect
Closing saves the data and releases system resources.
Explain the steps to write text data to a file in Python.
Think about opening, writing, and closing.
You got /3 concepts.
What are the benefits of using the with statement when writing to files?
Consider safety and code clarity.
You got /3 concepts.
Practice
(1/5)
1. What does the mode 'w' do when used with open in Python?
easy
A. It opens the file for writing and overwrites existing content.
B. It opens the file for reading only.
C. It appends new data to the end of the file.
D. It opens the file in binary mode.
Solution
Step 1: Understand the 'w' mode in open()
The 'w' mode opens a file for writing and clears existing content if the file exists.
Step 2: Compare with other modes
'r' is for reading, 'a' is for appending, and 'b' is for binary mode, so they don't match 'w'.
Final Answer:
It opens the file for writing and overwrites existing content. -> Option A
Quick Check:
open(file, 'w') overwrites file [OK]
Hint: Remember 'w' means write and overwrite existing file [OK]
Common Mistakes:
Confusing 'w' with 'a' (append mode)
Thinking 'w' opens file for reading
Assuming 'w' preserves old content
2. Which of the following is the correct syntax to write the string 'Hello' to a file named 'greet.txt'?
easy
A. with open('greet.txt', 'w') as file: file.write('Hello')
B. with open('greet.txt', 'a') as file: file.read('Hello')
C. open('greet.txt', 'w').read('Hello')
D. file = open('greet.txt', 'r'); file.write('Hello'); file.close()
Solution
Step 1: Identify correct file mode and method
To write data, use 'w' mode and the write() method inside a with block for safety.
Step 2: Check each option
file = open('greet.txt', 'r'); file.write('Hello'); file.close() uses 'r' mode which is read-only, so write() will fail. open('greet.txt', 'w').read('Hello') uses read() instead of write(). with open('greet.txt', 'a') as file: file.read('Hello') uses read() and 'a' mode but tries to read data, which is incorrect. with open('greet.txt', 'w') as file: file.write('Hello') correctly uses 'w' mode and write() inside a with block.
Final Answer:
with open('greet.txt', 'w') as file: file.write('Hello') -> Option A
Quick Check:
Use with + 'w' + write() to save text [OK]
Hint: Use with open(filename, 'w') and write() to save text [OK]
Common Mistakes:
Using 'r' mode when writing
Calling read() instead of write()
Not closing the file or missing with block
3. What will be the content of 'data.txt' after running this code?
with open('data.txt', 'w') as f:
f.write('Line1\n')
f.write('Line2')
medium
A. Line1\nLine2
B. Line1
Line2
C. Line1Line2
D. Line1\Line2
Solution
Step 1: Understand the write() calls
The first write adds 'Line1\n' which means Line1 followed by a newline. The second write adds 'Line2' on the next line.
Step 2: Interpret escape sequences
'\n' is a newline character, so the file will have two lines: 'Line1' and 'Line2'.
Final Answer:
Line1
Line2 -> Option B
Quick Check:
\n creates new line in file content [OK]
Hint: Remember '\n' means new line in strings [OK]
Common Mistakes:
Confusing '\n' as literal text instead of newline
Assuming write() adds spaces automatically
Ignoring escape characters
4. What is wrong with this code snippet that tries to write 'Hello' to 'file.txt'?
file = open('file.txt', 'w')
file.write('Hello')
medium
A. The file is not opened in write mode.
B. write() method is used incorrectly.
C. The file is not closed after writing.
D. The filename should be a variable, not a string.
Solution
Step 1: Check file opening mode
The file is opened with 'w' mode, which is correct for writing.
Step 2: Check file closing
The code does not close the file after writing, which can cause data loss or resource leaks.
Final Answer:
The file is not closed after writing. -> Option C
Quick Check:
Always close files or use with block [OK]
Hint: Always close files or use with to avoid data loss [OK]
Common Mistakes:
Forgetting to close the file
Using wrong mode for writing
Misusing write() method
5. You want to write multiple lines from a list lines = ['First', 'Second', 'Third'] to a file so each line appears on its own line in the file. Which code correctly does this?
hard
A. with open('out.txt', 'w') as f:
f.writelines(lines)
B. with open('out.txt', 'w') as f:
f.write(lines)
C. with open('out.txt', 'w') as f:
f.write('\n'.join(lines))
D. with open('out.txt', 'w') as f:
for line in lines:
f.write(line + '\n')
Solution
Step 1: Understand how to write lines with newlines
Each line must end with a newline character '\n' to appear on separate lines in the file.
Step 2: Evaluate each option
with open('out.txt', 'w') as f:
for line in lines:
f.write(line + '\n') writes each line with '\n' explicitly, so lines appear separately. with open('out.txt', 'w') as f:
f.write(lines) tries to write a list directly, which causes a TypeError. with open('out.txt', 'w') as f:
f.write('\n'.join(lines)) joins lines with '\n' but does not add a final newline after the last line (which is acceptable but less explicit). with open('out.txt', 'w') as f:
f.writelines(lines) uses writelines() but without adding '\n', so lines will run together.
Final Answer:
with open('out.txt', 'w') as f:
for line in lines:
f.write(line + '\n') -> Option D
Quick Check:
Add '\n' to each line when writing in loop [OK]
Hint: Add '\n' to each line when writing in a loop [OK]