Pythonで一時ファイルを作成する方法
この記事では、Pythonの標準ライブラリに含まれているtempfileモジュールを使って一時ファイルを作成する方法について紹介します。特に、二つの主要な方法、TemporaryFile
とNamedTemporaryFile
を紹介します。これらのモジュールを使うことで、一時ファイルの作成、使用、および削除を簡単に行うことができます。
TemporaryFile
tempfile.TemporaryFile
は、一時的なファイルを作成するモジュールです。ファイルを一時的に作成し、処理が終了すると自動的に削除されるので、一時的なデータの格納やファイルの一時的な生成が必要な場合に便利です。
import tempfile
temp_file = tempfile.TemporaryFile()
temp_file.write(b"abc")
temp_file.seek(0)
print(temp_file.read()) # b'abc'
temp_file.close()
NamedTemporaryFile
tempfile.NamedTemporaryFile
はtempfile.TemporaryFile
とは異なり、ファイルに名前を割り当てることができます。したがって、ファイルがどこに作成されたかを知ることができ、ファイル名を指定して他のアプリケーションからアクセスしたい場合に便利です。
ファイル名はname
属性で取得できます。
import tempfile
temp_file = tempfile.NamedTemporaryFile()
print(temp_file.name) # ファイルパスが出力される
temp_file.write(b"abc")
temp_file.close()
delete
フラグにFalse
を指定すると、ファイルを閉じても削除されません。
import os
import tempfile
temp_file = tempfile.NamedTemporaryFile(delete=False)
print(temp_file.name) # ファイルパスが出力される
temp_file.write(b"abc")
temp_file.close()
# ファイル削除
os.unlink(temp_file.name)