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

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

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

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

生徒

「Pythonで、ファイルに文字を書いたり、中身を読む方法ってありますか?」

先生

「はい、Pythonではopen()関数を使うとファイルを開いて、読み書きができます。テキストファイルもCSVファイルも扱えますよ。」

生徒

「openって名前の通り、ファイルを開く関数なんですね。どうやって使うんですか?」

先生

「使い方はとても簡単です。ファイルのパスとモードを指定するだけで開けます。では基本から説明していきましょう。」

-

1. open()関数とは?

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

open()関数は、Pythonでファイルを開くための基本的な関数です。使い方は次のように、第一引数にファイルのパス、第二引数にモードを指定します。

  • "r":読み込み専用(Read)
  • "w":書き込み専用(Write、上書き)
  • "a":追記(Append)
  • "b":バイナリモード

例えば、テキストファイルを読み込む場合は次のように書きます。


f = open("sample.txt", "r", encoding="utf-8")
data = f.read()
f.close()
print(data)

2. with文を使ったファイル操作

2. with文を使ったファイル操作
2. with文を使ったファイル操作

ファイルを開いたら、最後に必ずclose()で閉じる必要があります。これを忘れると、ファイルがロックされたままになったり、データが保存されないことがあります。そこで便利なのがwith文です。withを使うと、自動的にファイルを閉じてくれます。


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

3. ファイルに書き込む方法

3. ファイルに書き込む方法
3. ファイルに書き込む方法

ファイルに新しい内容を書き込むには、"w"モードか"a"モードを使います。"w"は既存の内容を消して上書きし、"a"は末尾に追加します。


with open("output.txt", "w", encoding="utf-8") as f:
    f.write("こんにちは、Python!\n")

(output.txt に「こんにちは、Python!」が書き込まれる)

追記する場合は"a"モードにします。


with open("output.txt", "a", encoding="utf-8") as f:
    f.write("2行目の文章です。\n")

4. 行単位で読み込む

4. 行単位で読み込む
4. 行単位で読み込む

read()はファイル全体を文字列として読み込みますが、大きなファイルではメモリを圧迫します。readline()readlines()を使えば行ごとに読み取れます。


with open("sample.txt", "r", encoding="utf-8") as f:
    for line in f:
        print(line.strip())
-

5. バイナリファイルの読み書き

5. バイナリファイルの読み書き
5. バイナリファイルの読み書き

画像や音声ファイルなど、テキストではないデータを扱うときはバイナリモード"b"を使います。


with open("image.png", "rb") as f:
    data = f.read()

with open("copy.png", "wb") as f:
    f.write(data)

6. プログラミング未経験者へのアドバイス

6. プログラミング未経験者へのアドバイス
6. プログラミング未経験者へのアドバイス

ファイル操作はPython入門の中でも重要な基礎です。まずは小さなテキストファイルを使って、読み込み・書き込み・追記の動きを試してみましょう。with open()を使えば閉じ忘れがなく安全です。

また、ファイルパスは絶対パスと相対パスがあります。相対パスはプログラムがある場所からの位置関係で指定でき、絶対パスはパソコン全体から見た位置を示します。初心者のうちは相対パスで練習するのがおすすめです。

まとめ

まとめ
まとめ

Pythonでファイルを開く・読み込む・書き込むといった基本操作は、プログラムの基礎でありながら幅広い場面で活用される大切な知識です。とくにopen()関数の役割や、読み込み専用・書き込み専用・追記などのさまざまなモードの違いを理解することで、テキストファイルやログファイルの処理、データ保存や設定ファイルの読み取りなど、多くの作業を自分のプログラムの中に組み込めるようになります。また、ファイルを扱う際に気をつけたいのが、開いたファイルを適切に閉じることです。これはメモリの確保やデータの破損防止に直接関係しており、実際の開発現場でも非常に重要視されるポイントです。 そこで便利なのがwith文で、これを使えばファイルを開いたあとに自動で閉じてくれるため、初心者でも安全にファイル操作が行えます。とくに、読み込みと書き込みを繰り返すような処理では、with open()を正しく使うだけでコードの見通しが良くなり、意図しないトラブルを回避できます。さらに、行単位で読み込む方法やバイナリファイルを扱う技術を理解すれば、テキストデータに限らず幅広い形式のデータを扱えるようになり、Pythonの可能性がいっそう広がります。 テキストファイルに文章を書く「書き込み」、既存の内容の末尾に追加する「追記」、一行ずつ処理を行う「行読み込み」、そして画像や音声といった非テキストデータを扱う「バイナリモード」。これらの基本操作は、データ処理の自動化やファイルログの記録など、日常的なプログラム作成に欠かせない要素です。また、初心者がつまずきがちなポイントとして、ファイルパスの指定があります。相対パスと絶対パスの理解は、ファイル操作を行う上で無視できませんが、慣れてくれば自然と使い分けられるようになります。 プログラムのなかで扱うデータを自由自在に保存し、読み取り、加工するためにも、ファイル操作の基礎をしっかり押さえておくことが大切です。実際に小さなテキストファイルを作り、読み書きしてみることで、Pythonの動作をより深く体感できるでしょう。これらの技術を身につけることで、データ分析や自動化スクリプト、アプリケーション開発など、より実践的なプログラミングの世界に進む準備が整います。

サンプルプログラム(まとめ用)

以下は、読み込み・書き込み・追記を一通り試せるまとめ用サンプルです。


# 1. 上書きして書き込む
with open("summary.txt", "w", encoding="utf-8") as f:
    f.write("これはまとめ用のサンプルファイルです。\n")

# 2. 追記する
with open("summary.txt", "a", encoding="utf-8") as f:
    f.write("2行目の文章を追加しています。\n")

# 3. 行ごとに読み込む
with open("summary.txt", "r", encoding="utf-8") as f:
    for line in f:
        print("読み込んだ行:", line.strip())

このコードでは、まず上書きモードで新しい文章を保存し、次に追記モードで行を追加し、最後に行単位で読み込んで内容を表示します。ファイル操作の基本を一通り復習しながら実践できる構成になっています。

先生と生徒の振り返り会話

生徒

「ファイルを開いて読み書きする方法がよく分かりました!open()のモードを切り替えるだけで、読み込み・上書き・追記ができるのが便利ですね。」

先生

「そうですね。モードさえ理解すれば、必要な処理に合わせて柔軟に使い分けられます。特にwith文はファイルを閉じる手間を省いてくれるので、とても使いやすいですよ。」

生徒

「行ごとに読む方法も便利でした。大きなファイルを扱うときに役立ちそうです。それとバイナリモードで画像をコピーできるのが意外でした。」

先生

「非テキストのファイルを扱う場面は意外と多いので覚えておくと良いですよ。Pythonはファイル操作に強いので、データ処理の幅がとても広がります。」

生徒

「ファイルパスの指定に慣れるまでは少し練習が必要ですが、操作自体はすごくシンプルですね。自分でもいろいろ試してみます!」

先生

「その意欲ならすぐに慣れますよ。実際に何度も読み書きしてみて、Pythonのファイル操作に親しんでいきましょう。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Pythonでファイルを開くにはどの関数を使えばよいですか?

Pythonでファイルを開くには、open関数を使います。open関数にファイルのパスとモードを指定することで、ファイルの読み込みや書き込み、追記などが可能になります。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
カテゴリの一覧へ
新着記事
New1
Python
PythonでISO 8601形式の日時に変換する方法を完全解説!初心者でもわかる時間フォーマットの基本
New2
PHP
PHPのマルチバイト文字列を正しく扱う方法!初心者向けにmb_strlenとmb_substrをやさしく解説
New3
PHP
PHP の break, continue の使い方を完全解説!初心者でもわかるループ制御
New4
Python
Pythonで日本の元号を扱う方法を徹底解説!令和・平成の変換もバッチリ対応
-
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonで辞書のキー・値・アイテムを取得する方法(keys(), values())
No.2
Java&Spring記事人気No2
Python
Pythonで辞書のネスト構造(入れ子辞書)を扱う方法 初心者向け完全ガイド
No.3
Java&Spring記事人気No3
Python
Pythonでエラースタックトレースを表示・取得する方法を徹底解説!初心者向け例外処理入門
No.4
Java&Spring記事人気No4
Python
PythonでMySQLに接続する方法を完全解説!初心者でもわかるpymysqlの基本
No.5
Java&Spring記事人気No5
Python
Pythonのライブラリとは?標準ライブラリとサードパーティライブラリの違いを初心者向けに解説!
No.6
Java&Spring記事人気No6
PHP
PHP の日付と時間の取得(date, time, strtotime)を完全解説!初心者でもわかる使い方
No.7
Java&Spring記事人気No7
PHP
PHPで画像ファイルをアップロードする方法を初心者向けに徹底解説!わかりやすい画像処理入門
No.8
Java&Spring記事人気No8
PHP
PHP の基本構文(開始タグ・コメント・インデント)を完全ガイド!初心者向け解説
-
-