AI資格ドリル
資格を選ぶ↓

用語比較

open()のモード 'w' と 'a' の違い|上書きか、末尾に追加か(Python3基礎)

open()のモード 'w' と 'a' は、どちらもファイルに書き込むためのモードです。違いは、同名のファイルがすでにあるときの扱いです。'w' は書き込み専用で、同名の既存ファイルは消去されます。'a' は追記用で、書き込んだデータは自動的にファイルの末尾に追加されます。消してから書くなら w、足していくなら aと覚えると、使い分けやすくなります。

Python公式チュートリアル7.2は、modeは、ファイルを読むだけなら 'r'、書くだけなら 'w'(同名の既存ファイルは消去される)、'a' は追記のために開き、書き込んだデータは自動的に末尾へ追加され、'r+' は読み書きの両方のために開くと説明しています。mode引数は省略でき、省略すると 'r' とみなされます。

Python3エンジニア認定基礎試験は、公式チュートリアルの内容を章ごとの出題率で出題する形で、第7章の入力と出力も範囲です。この記事では、4つのモードの意味を、既存ファイルがあるときの動きで確認します。

この記事の根拠と出典

各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。Python3エンジニア認定基礎試験の一次情報確認日: 2026-09-18。

結論

'w'

書き込み専用。同名の既存ファイルは消去される。

'a'

追記用。書き込んだデータは、自動的にファイルの末尾に追加される。

違いを表で確認

比較軸'w''a'
既存の同名ファイル消去される残り、末尾に追加される
用途書くだけ(書き込み専用)追記のために開く
ほかのモードとの関係読むだけなら 'r'、読み書きの両方なら 'r+'同じ。'r' は読み取り専用、'r+' は読み書きの両方
mode引数を省略したとき'r' とみなされるので、書き込むには 'w' の指定が要る'r' とみなされるので、追記するには 'a' の指定が要る

Python3エンジニア認定基礎試験の学習に使う書籍(Amazon)

試験範囲を通して読むときの1冊です。読んだ章は、このサイトの章別問題で確かめられます。

PR

ほかの資格を含む参考書・問題集の一覧を見る

どこで迷っているかを切り分ける

01

書いたらファイルの中身が消えて困る人

'w' は、同名の既存ファイルを消去します。前の内容を残したいなら 'a' です。

02

mode引数を書かずにopen()した人

省略すると 'r' とみなされ、読み取り用に開かれます。書き込みたいなら、'w' か 'a' を指定します。

03

読み書きの両方をしたい人

チュートリアルは、'r+' が読み書きの両方のためにファイルを開くと説明しています。

具体例で使い分ける

例 1

既存ファイルがあるときのモードの動き

同名のファイルがすでにあり、そこへ新しい行を書き込みます。

  • 'w' で開くと、同名の既存ファイルは消去されるため、書き込んだ行だけが残ります。
  • 'a' で開くと、書き込んだデータは自動的に末尾へ追加されるため、元の内容のあとに新しい行が続きます。

結論: 既存の内容を残すかどうかが分かれ目です。残さないなら 'w'、残すなら 'a' です。

問題文から答えを選ぶ手順

  1. 1

    読むか書くかを決める

    読むだけなら 'r'、書くなら 'w'・'a'・'r+' のいずれかです。

  2. 2

    既存の内容を残すかを決める

    消去してよいなら 'w'、残して末尾に足すなら 'a' です。

  3. 3

    読み書きの両方なら

    'r+' を使います。

試験での見分け方

  • 1'r' は、ファイルを読むだけのときのモードである。
  • 2'w' は書き込み専用で、同名の既存ファイルは消去される。
  • 3'a' は追記用で、書き込んだデータは自動的に末尾へ追加される。
  • 4'r+' は、読み書きの両方のためにファイルを開く。
  • 5mode引数は省略でき、省略すると 'r' とみなされる。

誤答しやすい選択肢

'w' で開けば、末尾に追加されると考える

修正: 'w' は同名の既存ファイルを消去します。末尾に追加するのは 'a' です。

mode省略で書き込めると考える

修正: 省略時は 'r' とみなされます。書き込むには 'w' か 'a' を指定します。

'a' を、読み書きの両方のモードと考える

修正: 'a' は追記用です。読み書きの両方は 'r+' です。

確認問題

Q1同名の既存ファイルを消去して書き込み専用で開くモードは?

答え: 'w'

チュートリアル7.2が、'w' は書くだけで、同名の既存ファイルは消去されると説明しています。

Q2書き込んだデータが自動的に末尾へ追加されるモードは?

答え: 'a'

チュートリアル7.2が、'a' は追記のためにファイルを開くと説明しています。

Q3mode引数を省略したとき、とみなされるモードは?

答え: 'r'

チュートリアル7.2が、mode引数は省略でき、省略すると 'r' とみなされると説明しています。

到達チェック

  • 'w' と 'a' の既存ファイルの扱いを言い分けられる
  • 'r+' が読み書きの両方のモードだと説明できる
  • mode省略時が 'r' であることを説明できる

同じ資格で次に知りたいこと

よくある質問

Qopen()の 'w' モードとは?

A

書き込み専用で開くモードです。同名の既存ファイルは消去されます。

Qopen()の 'a' モードとは?

A

追記のために開くモードです。書き込んだデータは自動的にファイルの末尾へ追加されます。

Q'w' と 'a' の違いは?

A

既存ファイルの扱いです。'w' は消去し、'a' は残して末尾に追加します。

QPython3基礎試験の範囲?

A

公式の出題範囲は公式チュートリアルの章単位で、第7章の入力と出力と、7.2のファイルの読み書きを含みます。出題の形式は受験前に公式の案内で確認してください。

次に見る比較

執筆: ミナト編集部(運営者情報を見る)