Exemplos com módulo Tempfile
Vamos começar com exemplos simples com o python Tempfile módulo aqui.
Criando arquivos temporários
A primeira coisa necessária para salvar 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 dessa função é quando um arquivo é criado com essa função, nenhum link para este arquivo é feito no sistema de arquivos do sistema e, portanto, não é possível para outros processos acessar esses arquivos.
Vejamos um programa simples que faz uso do Arquivo temporário() função:
OS de importação
Importar tempfile
# Usando PID em nome de arquivo para melhor identificação
arquivo = '/tmp/linuxhint_%s.txt ' % os.getpid ()
# Fornecendo o modo de arquivo
temp_file = aberto (arquivo, 'w+b')
tentar:
print ('temp_file: 0'.formato (temp_file))
print ('temp_file.Nome: 0 '.formato (temp_file.nome))
finalmente:
temp_file.fechar()
# Excluindo o arquivo temporário de si mesmo
OS.remover arquivo)
Print ('Metadados temporários do arquivo:')
temp_file = tempfile.Arquivo temporário()
tentar:
print ('temp_file: 0'.formato (temp_file))
print ('temp_file.Nome: 0 '.formato (temp_file.nome))
finalmente:
# Limpe o arquivo quando o fechamento é chamado
temp_file.fechar()
Aqui está o que recebemos com este comando:
Criando arquivo temporário
Este arquivo é excluído assim que o fechar() A função é chamada no Tempfile referência.
Lendo de arquivo temporário
Mesmo 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 dessa função é que Isso nos ajuda a evitar operações de IO complexas envolvidos se precisarmos fazer essas operações manualmente. Aqui está um programa que mostra essa função em ação:
OS de importação
Importar tempfile
tempfile = tempfile.Arquivo temporário()
tentar:
Print ('Escrevendo dados para tempfile:')
Tempfile.Escreva (os dados b'any podem ir aqui.')
Tempfile.procure (0)
Print ('Formulário de dados de leitura tempfile: \ n \ t 0'.formato (Tempfile.ler()))
finalmente:
Tempfile.fechar()
Vamos ver a saída para este comando:
Python Leia do arquivo temporário
Todo o texto nos arquivos temporários foi fornecido de volta com uma única chamada de método.
Escrevendo texto simples em arquivo temporário
Em nossos programas acima, todos os dados gravados em arquivos não estavam na forma de formato simples de texto simples. Se quisermos fazê -lo para operações de texto simples, podemos simplesmente modificar o modo de arquivo quando abrirmos o arquivo temporário para modificações:
Importar tempfile
filemode = 'w+t'
com tempfile.TemporaryFile (Mode = Filemode) como arquivo:
arquivo.Writelines (['Linux \ n', 'Ubuntu \ n']))
arquivo.procure (0)
para item no arquivo:
Imprimir (item.rstrip ())
Aqui está o que recebemos com este comando:
Escrevendo texto simples no arquivo
Criando arquivos temporários nomeados
Os arquivos que precisam ser abrangidos por 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 temporário nomeado:
OS de importação
Importar tempfile
tempfile = tempfile.NomeadoTemporaryFile ()
tentar:
print ('tempfile: 0'.formato (tempfile))
impressão ('temp.tempfile: 0 '.formato (Tempfile.nome))
finalmente:
# Excluindo o arquivo também
Tempfile.fechar()
impressão ('existe? : 0 '.formato (OS.caminho.Existe (tempfile.nome)))
Vamos ver a saída para este comando:
Nomeado Tempfile
Se não excluirmos o arquivo, podemos verificar sua existência em outro programa e usá -lo se ele existir no local especificado.
Fornecendo o nome do arquivo e prefixo do nome do arquivo
Para identificar facilmente os arquivos que pertencem aos nossos próprios processos no sistema de arquivos, podemos aplicar o sufixo e o prefixo ao nome do arquivo também:
Importar tempfile
tempfile = tempfile.NomeadoTemporaryFile (sufixo = '_ Ubuntu',
prefixo = 'linuxhint_',
dir = '/tmp',)
tentar:
Imprimir ('Tempfile:', Tempfile)
impressão ('tempfile.Nome: ', tempfile.nome)
finalmente:
Tempfile.fechar()
Aqui está o que recebemos com este comando:
Aplicando prefixo e sufixo ao nome do arquivo
Fornecemos três parâmetros ao método que atua como sufixo e prefixo para o nome do arquivo que será feito o local que especificamos.
Conclusão
Nesta lição, analisamos como podemos usar o módulo Python TempFile para gerenciar arquivos temporários em nosso código. Leia mais postagens baseadas em Python aqui.