カテゴリ: 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
Flask
Flaskで非同期フォーム送信(Ajax POST)を実装する方法を解説!初心者でもわかるステップ解説
New3
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
New4
Python
PythonでMySQLに接続する方法!pymysqlの基本的な使い方
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.3
Java&Spring記事人気No3
Python
Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法
No.4
Java&Spring記事人気No4
Python
Pythonのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.5
Java&Spring記事人気No5
Python
Pythonプログラムの書き方を基礎から学ぼう!初心者が覚えるべき文法とは?
No.6
Java&Spring記事人気No6
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.7
Java&Spring記事人気No7
Flask
Flaskアプリの環境変数をクラウドで安全に設定する方法!初心者のための完全ガイド
No.8
Java&Spring記事人気No8
Flask
Flaskでクラウド上のメッセージキュー(SQS/PubSub)を扱う完全ガイド!初心者向け解説