ファイルの読み書き

Pythonにおけるファイルの読み書きは、open()関数を使用して行います。ファイル操作の基本的な手順は以下の3ステップです。


1. ファイルを開く(open()関数)

python
open(file, mode, encoding)
  • file: ファイルのパス(例: "data.txt"

  • mode: モード(読み込みか書き込みか)

  • encoding: エンコーディング(例: "utf-8"

主なモードは以下の通りです:

モード 説明
'r' 読み込み(デフォルト)
'w' 書き込み(上書き)
'a' 追記
'b' バイナリモード
'x' 新規作成(すでにあるとエラー)
'r+' 読み書き(読み込み+書き込み)

2. ファイルを操作する(読み込み・書き込み)

読み込み操作

python
with open('sample.txt', 'r', encoding='utf-8') as f: content = f.read() # ファイル全体を1つの文字列として読み込み

他にも以下のメソッドがあります:

  • f.readline():1行ずつ読み込む

  • f.readlines():すべての行をリストとして取得

書き込み操作

python
with open('output.txt', 'w', encoding='utf-8') as f: f.write("こんにちは、Python\n")
  • write():1つの文字列を書き込む

  • writelines():リストなど複数の行を一度に書き込む


3. ファイルを閉じる(with構文)

ファイル操作では、操作後に必ずファイルを閉じる必要があります。Pythonではwith構文を使うことで、ファイルを自動で閉じることができます(例外が発生しても確実に閉じられます)。

python
with open('file.txt', 'r', encoding='utf-8') as f: data = f.read() # この時点でファイルは自動で閉じられる

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

画像や音声ファイルなどバイナリデータを扱う場合は、モードに'b'を追加します。

python
with open('image.jpg', 'rb') as f: binary_data = f.read() with open('copy.jpg', 'wb') as f: f.write(binary_data)

注意点

  • 書き込みモード('w')では既存ファイルの内容が消去されるため注意が必要です。

  • encoding='utf-8'は文字化け防止のため推奨されます(特に日本語を含む場合)。

生成日:2025/05/03