>> Tecnologia eletrônica >  >> Lar inteligente >> Vida Inteligente

Como ler e gravar arquivos em Python


Quando você estiver programando na linguagem Python além dos programas mais triviais, normalmente será necessário ler dados e gravar dados em arquivos que existem fora do próprio programa. O Python fornece mecanismos fáceis para acessar e modificar arquivos específicos usando funções padrão que fazem parte da linguagem principal.

Abrir arquivos em Python

Etapa 1


Decidir sobre a política de uso. Você precisa saber se precisa ler ou gravar no arquivo antes de poder abrir o arquivo. Abra o arquivo apenas com as permissões que você realmente precisa e não abra um arquivo no modo leitura-gravação quando você só precisar ler a partir dele. Isso evitará gravações acidentais em arquivos que você não deveria estar gravando.

Etapa 2


Decida se deseja usar o modo ASCII ou binário. Se você estiver lendo texto, use o modo ASCII. Se você estiver lendo dados binários, use o modo binário. Este modo irá traduzir os finais de linha para o modo que seu sistema operacional usa.

Etapa 3


Crie a cadeia de modo. O primeiro caractere é o modo de leitura ou gravação. Se você quiser abrir no modo binário, adicione um "b" no final da string. Por exemplo, para ler em modo ASCII, a string de modo seria "r" e para escrever em modo binário, a string de modo seria "wb".

Etapa 4


Abra o arquivo usando a função open. Armazene o objeto de arquivo resultante em uma variável. Por exemplo:

f =open("/nome do arquivo/vai/aqui", "r")

Ler de arquivos em Python

Etapa 1


Iterar em todas as linhas. Um objeto de arquivo pode ser usado como uma coleção com o loop "for". Você pode iterar em todas as linhas de um arquivo (uma ação comum) com a instrução for.

para linha em f:imprimir linha

Etapa 2


Procure um determinado ponto no arquivo. Os arquivos nem sempre são lidos sequencialmente, por isso muitas vezes é necessário buscar um determinado ponto no arquivo antes de ler o arquivo. Você pode fazer isso com o método de busca de um objeto de arquivo.

Procurar até o 100º byte f.seek(100)

Procurar 10 bytes do byte atual f.seek(10, 1)

Etapa 3


Ler dados binários de um arquivo. Usando o método read de um objeto de arquivo, você pode ler um número arbitrário de bytes de um arquivo.

Ler 16 bytes do arquivo buf =f.read(16)

Gravar em arquivos Python

Etapa 1


Gravar dados em um arquivo. Se um arquivo for aberto no modo de gravação, você poderá gravar dados ASCII ou binários nele. Isso é feito com o método write de um objeto de arquivo.

f.write("Isto é um texto")

Etapa 2


Grava objetos em um arquivo. Se você precisar salvar o estado interno de um objeto, você pode "conservá-lo". Para conservar um objeto, primeiro você precisa importar o módulo pickle. Depois disso, você pode conservar quase qualquer objeto com a função pickle.dump.

import pickle pickle.dump(any_object,f)

Etapa 3


Feche o arquivo. Após a conclusão da gravação, você deve fechar o arquivo. Isso garante que todos os buffers sejam liberados e que o arquivo não seja bloqueado para que outros programas possam acessá-lo. Isso é feito com o método close de um objeto de arquivo.

f.fechar()