【Python】ファイル読み込みを使う際のclose()メソッドを利用しない使い方


Pythonでファイルを開く際には必ず、「.close()」が必要となります。
しかし、この「.close()」を毎回自死することを忘れたり、めんどくさいと感じる方は、close()メソッドを利用しない方法を使います。


【Python】ファイル読み込みの際、「.close()」を利用しない方法

以下のプログラムではファイルを開いた後で「close()メソッド」で閉じるようになっています。
close()メソッドを使用する理由は、「OSによってファイルを開ける数に上限があるため」です。

なので、基本的にはファイルを開けた際は適切にcloseメソッドでファイルを閉じることが大切になります。

「.close()」を使用した例

※ test.txt

Hello! TEST!

※ test.py

test_file = open('test.txt')
read_data = test_file.read()
test_file.close()

print(read_data)

※実行結果

$ python3 test.py 
Hello! TEST!

$


「with文」を使用してファイルを使い終わった際、自動的に閉じる

wiith文を使用することにより、ファイルを開き、実行し終わったところで自動的に閉じることが可能です。

with文でファイルを開いた場合、open()関数の戻り値は「as」の後ろに書いた変数に代入されます。
その後、インデントされている範囲内ではファイルが開かれているので、ここで開いたファイルに対しての処理を行います。

インデントをやめたところで自動的にファイルが閉じられるようになります。

「with文」を使った「close()メソッド」を使用しない方法

以下では、close()メソッドを使用しないプログラムとなります。

with open('test.txt') as test_file:
    read_data = test_file.read()
print(read_data)
  1. with文でファイルを開く
  2. xxx.read()でファイルを読み込み
  3. インデントから抜けることでファイルを自動的に閉じる。読み込みデータを出力

※実行結果

$ python3 test.py 
Hello! TEST!

$

close()メソッドを使用しないで、簡易的なプログラムを使用したい際は活用してください。


関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!