Pythonでファイルを開くには?open()関数の基本から解説

Pythonでファイルを開くには?open()関数の基本から解説

Pythonでプログラミングを始めると、避けて通れないのがファイルの読み書きです。テキストファイルを読み取ったり、計算結果をファイルに保存したりする際に使うのが、open()関数です。この記事では、Pythonのopen()関数の基本的な使い方から、知っておくべきモードの種類、注意点までを、子供から大人まで分かるように丁寧に解説していきます。

open()関数とは何か?Pythonでファイルを開く基本

Pythonでファイルを操作する際に必ず使うのがopen()関数です。この関数は、ファイルを開いて中身を読んだり、新しくファイルを作ったり、すでにあるファイルに書き込んだりするために使います。

open()関数の基本的な構文は以下の通りです。

open(ファイル名, モード)
  • ファイル名:開きたいファイルの名前やパス(場所)を文字列で指定します。
  • モード:どのようにファイルを開くかを指定する文字列です。

ファイルを開いたあとは、その内容を読み取ったり、書き込んだりした後、必ずファイルを閉じる必要があります。閉じるにはclose()関数を使います。

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

open()関数のモードとは?目的に応じた使い方

open()関数にはさまざまなモードがあります。モードとは、”どういう目的でファイルを開くか”を指定するものです。以下に代表的なモードを紹介します。

モード説明
“r”読み込み専用(ファイルが存在しないとエラー)
“w”書き込み専用(ファイルがなければ新規作成、あれば上書き)
“a”追記専用(ファイルがなければ新規作成)
“b”バイナリモード(画像や音声などの非テキストファイル用)
“x”新規作成専用(すでに存在するファイルがあるとエラー)
“+”読み書き両用モード

例:追記モードでファイルを開く

file = open("log.txt", "a")
file.write("ログを追記します\n")
file.close()

with構文を使った安全なファイル操作

ファイル操作の基本として、with構文(コンテキストマネージャ)を使うことが推奨されています。

with構文を使えば、ファイルを自動的に閉じてくれるため、プログラム中にエラーが出てもファイルを開きっぱなしにしてしまうことがありません。

with open("data.txt", "r") as file:
    content = file.read()
    print(content)

このように書くことで、file.close()を書かなくてもよくなります。初心者の方にもおすすめの方法です。

読み込み・書き込みの具体例とその使い方

読み込みの例(”r”モード)

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

書き込みの例(”w”モード)

with open("output.txt", "w") as f:
    f.write("こんにちは、Python!")

行ごとに読み込む

with open("sample.txt", "r") as f:
    lines = f.readlines()
    for line in lines:
        print(line.strip())

追記の例(”a”モード)

with open("log.txt", "a") as f:
    f.write("ログを追記しました\n")

ファイルのエンコーディング(文字コード)について

日本語の文字を含むファイルを扱うときには、エンコーディング(文字コード)に注意が必要です。

Pythonでは、標準でUTF-8という文字コードが使われていますが、WindowsではShift_JISが使われることもあります。そのため、ファイルを開くときに明示的にエンコーディングを指定するのが安全です。

with open("japanese.txt", "r", encoding="utf-8") as f:
    content = f.read()
with open("japanese.txt", "r", encoding="shift_jis") as f:
    content = f.read()

open()関数を使うときの注意点

  • ファイルが存在しないとエラーになる(”r”モード)
  • 書き込み(”w”モード)では既存の内容が消える
  • 文字コードが合っていないと文字化けやエラーが起こる
  • 大きなファイルを一気に読み込むとメモリ不足になることもある

必要に応じて、ファイルの存在確認や例外処理(try/except)も取り入れましょう。

try:
    with open("sample.txt", "r") as f:
        print(f.read())
except FileNotFoundError:
    print("ファイルが見つかりません")

まとめ

Pythonでファイルを開くにはopen()関数の使い方を理解することが大切です。この記事では、基本構文からモードの種類、安全なwith構文の使い方、エンコーディングの設定、注意点までを解説しました。

ファイル操作はPythonプログラミングの中でも重要なスキルの一つです。小学生でも理解できるように、ひとつずつ丁寧に学び、試してみることがスキルアップへの近道です。

次は実際に、自分でファイルを作って読み書きしてみましょう。