Exemplos com módulo tempfile
Começaremos com exemplos simples com o Python arquivo temporário módulo aqui.
Criação de arquivos temporários
A primeira coisa necessária para salvar os dados temporários são os arquivos onde podemos armazenar esses dados. Isso pode ser feito usando o Arquivo temporário() função. A maior vantagem desta função é que quando um arquivo é criado com esta função, nenhum link para este arquivo é feito no sistema de arquivos do sistema e assim, não é possível para outros processos acessarem estes arquivos.
Vejamos um programa simples que faz uso do Arquivo temporário() função:
importar osimportar arquivo temporário
# Usando PID no nome do arquivo para melhor identificação
arquivo = '/ tmp / linuxhint_% s.txt '% os.getpid ()
# Modo de fornecimento de arquivo
temp_file = open (arquivo, 'w + b')
tentar:
imprimir ('temp_file: 0'.formato (temp_file))
print ('temp_file.nome: 0 '.formato (temp_file.nome))
finalmente:
temp_file.perto()
# Excluindo nós mesmos o arquivo temporário
os.remover arquivo)
print ('TemporaryFile Metadata:')
temp_file = tempfile.Arquivo temporário()
tentar:
imprimir ('temp_file: 0'.formato (temp_file))
print ('temp_file.nome: 0 '.formato (temp_file.nome))
finalmente:
# Limpa o arquivo quando o fechamento é chamado
temp_file.perto()
Aqui está o que recebemos de volta com este comando:
Criando arquivo temporário
Este arquivo é excluído assim que o perto() função é chamada no arquivo temporário referência.
Lendo do arquivo temporário
Até a leitura de um arquivo temporário é fácil e pode ser feita em uma única chamada de método no mesmo módulo. A vantagem desta função é que isso nos ajuda a evitar operações complexas de IO envolvidos se precisarmos fazer essas operações manualmente. Aqui está um programa que mostra esta função em ação:
importar osimportar arquivo temporário
tempFile = tempfile.Arquivo temporário()
tentar:
print ('Gravando dados em tempFile:')
tempFile.escrever (b'Any dados podem ir aqui.')
tempFile.procurar (0)
print ('Lendo o formulário de dados tempFile: \ n \ t 0'.formato (tempFile.leitura()))
finalmente:
tempFile.perto()
Vamos ver a saída deste comando:
Python lido de arquivo temporário
Todo o texto nos arquivos temporários foi devolvido com uma única chamada de método.
Gravando texto simples em arquivo temporário
Em nossos programas acima, todos os dados gravados em arquivos não estavam na forma de um formato de texto simples. Se quisermos fazer isso para operações de texto simples, podemos apenas modificar o modo de arquivo ao abrir o arquivo temporário para modificações:
importar arquivo temporáriofileMode = 'w + t'
com tempfile.TemporaryFile (mode = fileMode) como arquivo:
Arquivo.writelines (['Linux \ n', 'Ubuntu \ n'])
Arquivo.procurar (0)
para o item no arquivo:
imprimir (item.rstrip ())
Aqui está o que recebemos de volta com este comando:
Escrever texto simples no arquivo
Criação de arquivos temporários nomeados
Os arquivos que precisam ser divididos em vários processos devem ser nomeados para que um processo não os exclua quando for concluído. Aqui está como podemos criar um arquivo nomeado temporário:
importar osimportar arquivo temporário
tempFile = tempfile.NamedTemporaryFile ()
tentar:
imprimir ('tempFile: 0'.formato (tempFile))
print ('temp.tempFile: 0 '.formato (tempFile.nome))
finalmente:
# Excluindo o arquivo também
tempFile.perto()
print ('Existe? : 0 '.formato (os.caminho.existe (tempFile.nome)))
Vamos ver a saída deste comando:
Arquivo temporário nomeado
Se não excluirmos o arquivo, podemos verificar sua existência em outro programa e usá-lo se ele existir no local especificado.
Fornecimento de sufixo e prefixo do nome do arquivo
Para identificar facilmente os arquivos que pertencem aos nossos próprios processos no sistema de arquivos, também podemos aplicar Sufixo e Prefixo ao nome do arquivo:
importar arquivo temporáriotempFile = tempfile.NamedTemporaryFile (sufixo = '_ ubuntu',
prefixo = 'linuxhint_',
dir = '/ tmp',)
tentar:
imprimir ('tempFile:', tempFile)
print ('tempFile.nome: ', tempFile.nome)
finalmente:
tempFile.perto()
Aqui está o que recebemos de volta com este comando:
Aplicando prefixo e sufixo ao nome do arquivo
Nós fornecemos três parâmetros para o método que atua como sufixo e prefixo para o nome do arquivo que será feito no local que especificamos.
Conclusão
Nesta lição, vimos como podemos usar o módulo tempfile do Python para gerenciar arquivos temporários em nosso código. Leia mais postagens baseadas em Python aqui.