Pythonでテキストファイルを読み込む際には、with
構文を使用すると便利です。with
構文を使用すると、ファイルの読み込みで必要なclose
処理を省略することができます。
with構文の基本的な使い方
ファイルのオープンとクローズの作業を、with
構文を使って簡略化してみましょう。ファイル操作は、ファイルのオープン、ファイルに対する処理、ファイルのクローズというのが決まった流れです。
with open("sample.txt", "r") as f:
print(f.read())
このコードでは、sample.txt
というファイルをopen
で開いた後、その内容を表示し、with
構文が終了した時点で自動的にファイルを閉じています。
複数のwith構文を使う方法
複数のファイルを同時に開いて、処理を行いたい場合などはwith
構文をネストすることが出来ます。
with open("sample1.txt", "r") as f1:
with open("sample2.txt", "w") as f2:
f2.write(f1.read())
このコードでは、sample1.txt
の内容をsample2.txt
に書き込んでいます。
with構文が使えるクラスを作ってみよう
with
構文が使えるクラスを作成するには、__enter__()
メソッドと__exit__()
メソッドの両方を定義しなければなりません。
class MySampleClass:
def __enter__(self):
print('START')
return self
def myfunc(self):
print('Do something...')
def __exit__(self, exception_type, exception_value, traceback):
print('END')
with MySampleClass() as c:
c.myfunc()
このコードでは、MySampleClass
というクラスを作成し、with
構文を使用しています。__enter__()
メソッドでSTART
を表示し、myfunc
メソッドでDo something...
を表示し、最後に__exit__()
メソッドでEND
を表示しています。
以上がPythonでテキストファイルを読み込む際の基本的な方法となります。これらの知識を活用して、Pythonでのファイル操作を効率的に行いましょう。