tempfile.TemporaryFile(mode='w+b', buffering=None, encoding=None, newline=None, suffix=None, prefix=None, dir=None, *, errors=None)
一時的な記憶領域として使うことの出来る file-like object を返します。 ファイルは mkstemp() と同じルールにより安全に作成されます。 オブジェクトは閉じられる (オブジェクトのガベージコレクションによる暗黙的なものも含みます) とすぐに破壊されます。
###一時的なファイルの作成
tempfileは使い終わったら勝手に消してくれる
TemporaryFileは一時的なファイルという意味
このファイルはpythonにより消される
qiita.py
import tempfile
with tempfile.TemporaryFile(mode='w+') as t:
t.write('hello')
t.seek(0)
print(t.read())
実行結果
hello
###一時的でないファイルの作成
NamedTemporaryFileとしてdeleteをFalseにする
print(t.name)でpathを表示させている
qiita.py
import tempfile
with tempfile.NamedTemporaryFile(delete=False) as t:
print(t.name)
with open(t.name, 'w+') as f:
f.write('test\n')
f.seek(0)
print(f.read())
実行結果
/var/folders/14/vk0vvxsn6jjbwjf0_nk2p7k40000gn/T/tmpxfqtokst
test
###一時的なディレクトリの作成
qiita.py
import tempfile
with tempfile.TemporaryDirectory() as td:
print(td)
実行結果
/var/folders/14/vk0vvxsn6jjbwjf0_nk2p7k40000gn/T/tmpcmdgfsuu