【Python】with()を利用したファイルの読み書きについて



1. with
ファイル操作においては、with open()
という形で使用します。この構文を使うことで、ファイルを開いて処理を行い、処理が終わったら自動的にファイルを閉じることができます。
1.1. 基本的な構文
with open(ファイル名, モード) as 変数名:
処理
ファイル名
: 開くファイルのパスを指定します。モード
: ファイルの操作モードを指定します。主なモードは以下の通りです。'r'
: 読み込みモード(デフォルト)'w'
: 書き込みモード(ファイルが存在する場合は内容が上書きされます)'a'
: 追記モード(ファイルの末尾に書き込みます)'b'
: バイナリモード(rb
,wb
などと組み合わせて使用)


2. 使い方

open()
を使うけど、with構文なら自動で閉じてくれるから安心だよね!
2.1. ファイルの読み込み
まずは、with
構文を使ったファイルの読み込み方法を見ていきましょう。
# ファイルを読み込んで内容を表示する例
with open('example.txt', 'r') as f:
content = f.read()
print(content)
このコードでは、example.txt
というファイルを読み込みモードで開いています。f.read()
でファイルの内容を全て読み込み、content
という変数に格納しています。with
構文を使っているため、f.close()
を明示的に呼び出す必要はありません。
2.2. ファイルへの書き込み
次に、ファイルへの書き込みを行う例です。
# ファイルにテキストを書き込む例
with open('example.txt', 'w') as f:
f.write('Hello, World!')
このコードでは、example.txt
というファイルを開き、Hello, World!
という文字列を書き込んでいます。w
モードを使用しているため、ファイルが存在しない場合は新しく作成され、既存のファイルがある場合は内容が上書きされます。
2.3. 追記モードでのファイル操作
追記モードを使うと、ファイルの末尾に新しいデータを追加することができます。
# ファイルにデータを追記する例
with open('example.txt', 'a') as file:
file.write('\nThis is an additional line.')
このコードでは、example.txt
の末尾に新しい行を追加しています。a
モードを使うことで、既存のデータを消すことなく、新しいデータを追加できます。
2.4. 応用:複数ファイルの同時操作


with
構文では、複数のファイルを同時に開くこともできます。
# 複数のファイルを同時に開いて読み書きする例
with open('input.txt', 'r') as infile, open('output.txt', 'w') as outfile:
content = infile.read()
outfile.write(content)
このコードでは、input.txt
というファイルを読み込み、output.txt
というファイルに内容を書き込んでいます。複数のファイルを同時に扱う際も、with
構文を使えばクローズ処理を忘れる心配がありません。
output.txtの内容が次のようにinput.txtの内容に更新されます。
3. まとめ
with
構文は、Pythonにおけるファイル操作を簡素化し、リソースの管理を安全に行うための非常に便利な方法です。
【ポイント】
with
構文を使うと、自動的にファイルがクローズされる- 読み込み、書き込み、追記の各操作を簡単に行える
- 複数のファイルを同時に扱うこともできる
check
Pythonの基本から応用まで、幅広くカバーする記事を公開中です。学習のポイントや実践的なコード例を通じて、Pythonの魅力と実用性を深く理解することができます。ぜひ、こちらの記事で気になる記事を見つけてください!