Módulo Tempfile do Python
O módulo tempfile cria arquivos e diretórios temporários com segurança.
import tempfile
Use tempfile para dados que devem existir apenas enquanto o programa estiver em execução, como saída de testes, downloads ou arquivos intermediários.
TemporaryFile()
TemporaryFile cria um objeto de arquivo que é limpo automaticamente.
import tempfile
with tempfile.TemporaryFile(mode='w+t') as temp:
temp.write('hello')
temp.seek(0)
print(temp.read())
hello
O arquivo é removido automaticamente quando o bloco with termina.
NamedTemporaryFile()
NamedTemporaryFile fornece um caminho no disco.
import tempfile
with tempfile.NamedTemporaryFile(mode='w+t') as temp:
print(bool(temp.name))
True
Isso é útil quando outra API precisa de um nome de arquivo em vez de um objeto de arquivo.
TemporaryDirectory()
Diretórios temporários são úteis para testes e espaços de trabalho de curta duração.
import tempfile
from pathlib import Path
with tempfile.TemporaryDirectory() as directory:
file_path = Path(directory) / 'notes.txt'
file_path.write_text('draft')
print(file_path.exists())
True
Os arquivos dentro do diretório são removidos junto com ele quando o bloco termina.
Escolhendo um local temporário
gettempdir() mostra o diretório usado por padrão pelo Python.
import tempfile
print(bool(tempfile.gettempdir()))
True