TSUBOCK★LABO-ツボックラボ-

とあるセキュリティエンジニアの技術メモブログ

MENU

プログラムの中で一時的にファイルリソースを作成する「tempfile」モジュールを使ってみる

pythonでファイル操作しているときに一時的にファイルを展開したいなと思うとき、あると思います。そんな時にはtempfileというモジュールを使用して、一時的なファイルディレクトリを作成するのがスマートと思いますので、ご紹介いたします。

tempfileモジュールとは

tempfileモジュールは文字通り一時的なファイルシステムのリソースを生成することができるリソースです。tempfileモジュールは標準ライブラリのため、特にインストールせずとも、importすれば使ことができます。

実際に使ってみる

それでは実際に使用してみたいと思います。

一時的なディレクトリの作成

一時的なディレクトリの作成にはTemporaryDirectoryを使用します。TemporaryDirectoryの場合はランダムな文字列でディレクトリ名が生成されます。

import tempfile

tmp_dir = tempfile.TemporaryDirectory()

tmp_dirには一時的なディレクトリのPathが入っています。

一時的なファイル格納場所に使用することができます。

ディレクトリを削除するときにはcleanupを使用することで一時ディレクトリごと削除することができます。

tmp_dir.cleanup()

一時的なファイルの作成

TemporaryFileを使用することでディレクトリだけでなく、一時的なファイルも作成することができます。TemporaryFileはTemporaryDirectoryと同様にランダムな文字列でファイル名が生成されます。

import tempfile

temp_file = tempfile.TemporaryFile()

temp_fileは一時的な空のファイルオブジェクトなので、そのまま何かを書き込んだりすることも可能です。

参照:

tempfile— Generate temporary files and directories