一時ファイルの使用方法

906 ワード

実例
あるプロジェクトでは、センサーからデータを収集し、1 Gデータを収集するたびに、データ分析を行い、最終的には分析結果だけを保存します.このような大きな一時データが常駐すると、メモリリソースが大量に消費され、一時ファイルを使用してこれらの一時データ(外部ストレージ)を格納することができます.
テンポラリ・ファイルは名前を付けず、閉じると自動的に削除されます.
ソリューション:標準ライブラリのtempfileの下にあるTemporaryFile,NamedTemporaryFileを使用します.
コードは次のとおりです.
# -*- coding: utf-8 -*-

from tempfile import TemporaryFile, NamedTemporaryFile

# TemporaryFile       ,   f  
f = TemporaryFile()

f.write('abcdef' * 100000)

f.seek(0)

#        ,        
print f.read(100)


# NamedTemporaryFile                
ntf = NamedTemporaryFile()

#           
print ntf.name

実行結果:
abcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefabcd
c:\users\admin\appdata\local\temp\tmpcnn26b

NamedTemporaryFileでは、パラメータdelete=Falseを設定して自動削除メカニズムを閉じることができます.これにより、新しい一時ファイルを作成するときも、元の一時ファイルが存在します.