カテゴリ: Python 更新日: 2025/12/07

Pythonでファイルを開く・読み込む・書き込む方法(open() の使い方)

Pythonでファイルを開く・読み込む・書き込む方法(open() の使い方)
Pythonでファイルを開く・読み込む・書き込む方法(open() の使い方)

先生と生徒の会話形式で理解しよう

生徒

「先生、Pythonでファイルを開いたり、内容を書き込んだりする方法ってどうやるんですか?」

先生

「とても良い質問ですね。Pythonではopen()という関数を使って、ファイルを開いたり、読み込んだり、書き込んだりできますよ。」

生徒

「open関数ですか?それを使えば、パソコンの中のテキストファイルも読めるんですか?」

先生

「そうです。たとえば、メモ帳で作ったテキストファイルを読み取ったり、新しいファイルを作って文字を書き込むこともできます。では、実際に使い方を見てみましょう。」

1. open()関数とは?

1. open()関数とは?
1. open()関数とは?

Pythonのopen()関数は、「ファイルを開く」ための関数です。人間がノートを開いて書いたり読むように、Pythonでもファイルを開いて操作します。

open()関数の基本的な書き方は次の通りです。


open(ファイル名, モード)

ここで「ファイル名」は開きたいファイルの名前を文字列で指定します。「モード」は、ファイルをどのように扱うかを指定します。たとえば、「読む」「書く」「追加する」などのモードがあります。

2. ファイルを開いて読み込む(rモード)

2. ファイルを開いて読み込む(rモード)
2. ファイルを開いて読み込む(rモード)

ファイルを読み込みたいときは、モードに"r"(readの略)を指定します。たとえば、sample.txtというファイルの内容を読むには次のように書きます。


f = open("sample.txt", "r")
data = f.read()
print(data)
f.close()

このコードでは、open()でファイルを開き、read()で内容を読み取り、print()で表示しています。最後にclose()を呼び出してファイルを閉じます。これはノートを閉じるのと同じで、とても大切な処理です。

例えば、上のプログラムを実行すると、sample.txtに「こんにちは、Python!」と書かれていた場合、次のように出力されます。


こんにちは、Python!

ポイント: ファイルを開いたら、必ずclose()で閉じましょう。閉じないとデータが壊れたり、ファイルが使えなくなることがあります。

3. with構文を使うと便利!

3. with構文を使うと便利!
3. with構文を使うと便利!

open()でファイルを開いたあとに、close()を忘れてしまう人が多いです。そんなときはwith構文を使うと自動的に閉じてくれます。


with open("sample.txt", "r") as f:
    data = f.read()
    print(data)

この方法では、ブロック(インデントされた部分)が終わると、自動的にファイルが閉じられます。初心者の方には特におすすめです。

4. ファイルに書き込む(wモード)

4. ファイルに書き込む(wモード)
4. ファイルに書き込む(wモード)

次に、ファイルに文字を書き込む方法を学びましょう。書き込みたいときは、モードに"w"(writeの略)を指定します。


with open("output.txt", "w") as f:
    f.write("Pythonでファイルに書き込みました!")

このプログラムを実行すると、同じフォルダにoutput.txtというファイルが作られ、その中に「Pythonでファイルに書き込みました!」という文字が保存されます。


Pythonでファイルに書き込みました!

注意: "w"モードを使うと、すでに存在するファイルの内容が消えて、新しい内容に上書きされます。上書きしたくない場合は次の「追記モード」を使いましょう。

5. 既存のファイルに追記する(aモード)

5. 既存のファイルに追記する(aモード)
5. 既存のファイルに追記する(aモード)

ファイルの末尾に新しい内容を追加したいときは、モードに"a"(appendの略)を使います。


with open("output.txt", "a") as f:
    f.write("\n新しい行を追加しました。")

\nは改行を意味します。このコードを実行すると、output.txtの最後に新しい行が追加されます。


Pythonでファイルに書き込みました!
新しい行を追加しました。

6. ファイルを1行ずつ読む(readlineとreadlines)

6. ファイルを1行ずつ読む(readlineとreadlines)
6. ファイルを1行ずつ読む(readlineとreadlines)

ファイルの中身が複数行ある場合、すべてを一度に読むのではなく、1行ずつ処理したいことがあります。その場合はreadline()readlines()を使います。


# readline():1行ずつ読む
with open("sample.txt", "r") as f:
    line = f.readline()
    while line:
        print(line.strip())
        line = f.readline()

# readlines():全行をリストで取得
with open("sample.txt", "r") as f:
    lines = f.readlines()
    for line in lines:
        print(line.strip())

どちらもよく使われる方法です。strip()は、行の最後にある改行文字を取り除くためのメソッドです。

7. ファイルモードの一覧

7. ファイルモードの一覧
7. ファイルモードの一覧

最後に、open()関数で使える主なモードを一覧にまとめておきます。

モード意味
"r"読み込み専用(ファイルが存在しないとエラー)
"w"書き込み専用(既存の内容を上書き)
"a"追記モード(末尾に追加)
"r+"読み書き両用(上書き可能)
"b"バイナリモード(画像や音声ファイル向け)

たとえば、画像ファイルを開くときは"rb"を使います。テキストファイルでは"r""w"を使うのが基本です。

8. まとめ:open()を使えばファイル操作が自由自在

8. まとめ:open()を使えばファイル操作が自由自在
8. まとめ:open()を使えばファイル操作が自由自在

ここまで学んだように、open()関数を使えば、Pythonでファイルを開く・読む・書く・追記することが自由にできます。初心者のうちは、with open(...)を使って、自動でファイルを閉じる書き方を覚えると安全です。

ファイル処理は、ログの記録やデータの保存など、実践的なプログラムでは必ず使う重要な機能です。何度も練習して自然に書けるようになりましょう!

カテゴリの一覧へ
新着記事
New1
Flask
Flaskアプリのセキュリティ脆弱性と解決方法を初心者向けに徹底解説!
New2
Python
Pythonのリストのメモリ効率を改善する方法を完全ガイド!初心者でもわかるgeneratorの使い方
New3
Python
PythonでSQLのトリガー・ストアドプロシージャを活用する基本を初心者向けに完全解説
New4
Flask
FlaskでリダイレクトやURL生成を行う方法!便利な関数の使い方を解説
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.2
Java&Spring記事人気No2
Flask
FlaskアプリをNginx + Gunicornで本番運用する方法!初心者でもわかるデプロイ構成の基本
No.3
Java&Spring記事人気No3
Python
Pythonのリストを分割する方法を完全ガイド!初心者でもわかるスライス・split・itertoolsの使い方
No.4
Java&Spring記事人気No4
Flask
FlaskのBlueprintとは?機能ごとに分割して管理する基本設計を学ぼう
No.5
Java&Spring記事人気No5
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.6
Java&Spring記事人気No6
Flask
Flaskアプリのテスト性を高める設計方法まとめ
No.7
Java&Spring記事人気No7
Django
Django settings.py の役割とよく使う設定を完全解説!初心者でもわかる基本と考え方
No.8
Java&Spring記事人気No8
Flask
Flaskとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説