Bird
Raised Fist0
Pythonprogramming~5 mins

File modes and access types in Python - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

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 does the file mode 'r' mean in Python?
The mode 'r' opens a file for reading only. The file must exist, or Python will raise an error.
Click to reveal answer
beginner
What happens if you open a file with mode 'w'?
The mode 'w' opens a file for writing. If the file exists, it will be erased (emptied). If it doesn't exist, a new file is created.
Click to reveal answer
intermediate
Explain the difference between 'a' and 'w' file modes.
Mode 'a' opens a file for appending, which means new data is added at the end without deleting existing content. Mode 'w' erases the file content before writing.
Click to reveal answer
beginner
What does the 'b' in file modes like 'rb' or 'wb' stand for?
The 'b' stands for binary mode. It means the file is opened in binary format, which is used for non-text files like images or videos.
Click to reveal answer
intermediate
What is the purpose of the '+' symbol in file modes like 'r+' or 'w+'?
The '+' symbol means the file is opened for both reading and writing.
Click to reveal answer
Which file mode opens a file for reading and writing without truncating it?
A'a'
B'w'
C'r+'
D'wb'
What happens if you open a non-existing file with mode 'r'?
ARaises an error
BAppends to the file
CCreates a new empty file
DReads an empty file
Which mode should you use to add data to the end of an existing file without deleting its content?
A'a'
B'w'
C'r'
D'rb'
What does the 'b' in 'rb' mode indicate?
ABuffered mode
BBinary mode
CBackup mode
DBasic mode
If you want to read and write a file and also create it if it doesn't exist, which mode is best?
A'r+'
B'rb'
C'w+'
D'a+'
Describe the main file modes in Python and when to use each.
Think about whether you want to read, write, add, or work with binary files.
You got /5 concepts.
    Explain what happens when you open a file in 'w' mode versus 'a' mode.
    Consider if the existing content stays or is removed.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which file mode in Python opens a file for reading only, and raises an error if the file does not exist?
      file = open('data.txt', mode)
      easy
      A. "r"
      B. "w"
      C. "a"
      D. "x"

      Solution

      1. Step 1: Understand the purpose of mode "r"

        Mode "r" opens a file for reading only and requires the file to exist.
      2. Step 2: Compare with other modes

        Mode "w" opens for writing (creates or truncates), "a" appends, and "x" creates a new file but errors if it exists.
      3. Final Answer:

        "r" -> Option A
      4. Quick Check:

        Read-only mode = "r" [OK]
      Hint: Read-only mode is just "r" [OK]
      Common Mistakes:
      • Confusing "r" with "w" which overwrites files
      • Using "a" thinking it reads
      • Choosing "x" which creates files
      2. Which of the following is the correct syntax to open a file named log.txt for appending text in Python?
      easy
      A. open('log.txt', 'r')
      B. open('log.txt', 'w')
      C. open('log.txt', 'a')
      D. open('log.txt', 'x')

      Solution

      1. Step 1: Identify the mode for appending

        Mode "a" opens the file for appending, adding new content at the end.
      2. Step 2: Check syntax correctness

        The syntax open('log.txt', 'a') is correct for appending text.
      3. Final Answer:

        open('log.txt', 'a') -> Option C
      4. Quick Check:

        Append mode = "a" [OK]
      Hint: Append mode is always "a" [OK]
      Common Mistakes:
      • Using "r" which is read-only
      • Using "w" which overwrites the file
      • Using "x" which creates new file only
      3. What will be the output of the following code if example.txt contains the text "Hello"?
      with open('example.txt', 'w') as f:
          f.write('World')
      
      with open('example.txt', 'r') as f:
          print(f.read())
      medium
      A. World
      B. Hello
      C. HelloWorld
      D. Error

      Solution

      1. Step 1: Understand mode "w" effect on file content

        Opening with "w" overwrites the file, so "World" replaces "Hello".
      2. Step 2: Reading the file after writing

        Reading the file after writing will output the new content "World".
      3. Final Answer:

        World -> Option A
      4. Quick Check:

        Write mode overwrites content = "World" [OK]
      Hint: Write mode "w" replaces file content [OK]
      Common Mistakes:
      • Assuming "w" appends instead of overwrites
      • Expecting original content to remain
      • Thinking reading causes error after writing
      4. What is wrong with this code snippet?
      f = open('data.txt', 'r')
      content = f.read()
      f.write('More data')
      f.close()
      medium
      A. No error, code is correct
      B. File is not closed properly
      C. File mode should be "a" to read
      D. File is opened in read mode but write is attempted

      Solution

      1. Step 1: Check file mode and operations

        The file is opened in "r" (read) mode, which does not allow writing.
      2. Step 2: Identify the error cause

        Calling f.write() in read mode causes a runtime error because writing is not allowed.
      3. Final Answer:

        File is opened in read mode but write is attempted -> Option D
      4. Quick Check:

        Write not allowed in "r" mode [OK]
      Hint: Write needs "w" or "a" mode, not "r" [OK]
      Common Mistakes:
      • Forgetting write is disallowed in read mode
      • Not closing file properly (though here it is closed)
      • Confusing append mode with read mode
      5. You want to create a new file report.txt but only if it does not already exist. Which mode should you use to avoid overwriting existing files?
      hard
      A. "w"
      B. "x"
      C. "a"
      D. "r+"

      Solution

      1. Step 1: Understand mode "x" behavior

        Mode "x" creates a new file and raises an error if the file already exists, preventing overwriting.
      2. Step 2: Compare with other modes

        "w" overwrites, "a" appends or creates, "r+" opens for reading and writing but requires file to exist.
      3. Final Answer:

        "x" -> Option B
      4. Quick Check:

        Create new only = "x" mode [OK]
      Hint: Use "x" to create file only if not exists [OK]
      Common Mistakes:
      • Using "w" which overwrites existing files
      • Using "a" which appends or creates silently
      • Using "r+" which needs existing file