Python で一時ディレクトリを作成し、そのパスを取得するにはどうすればよいですか?
ベストアンサー1
Python 3では、TemporaryDirectory
からtempfile
モジュールが使用できます。
から例:
import tempfile
with tempfile.TemporaryDirectory() as tmpdirname:
print('created temporary directory', tmpdirname)
# directory and contents have been removed
ディレクトリが削除されるタイミングを手動で制御するには、次の例のようにコンテキスト マネージャーを使用しないでください。
import tempfile
temp_dir = tempfile.TemporaryDirectory()
print(temp_dir.name)
# use temp_dir, and when done:
temp_dir.cleanup()
ドキュメントには次のようにも書かれています:
コンテキストの完了または一時ディレクトリ オブジェクトの破棄時に、新しく作成された一時ディレクトリとそのすべての内容がファイル システムから削除されます。
たとえば、プログラムの終了時に、コンテキスト マネージャーやメソッドによってディレクトリが削除されていない場合、Python はディレクトリをクリーンアップしますcleanup()
。ただし、これに依存すると、Python からunittest
エラーが発生する可能性がありますResourceWarning: Implicitly cleaning up <TemporaryDirectory...
。