>> Tecnologia Eletrônica >  >> Casa Inteligente >> Vida Inteligente

Como Ler e Escrever Arquivos em Python

Quando você programa em Python além dos programas mais triviais, normalmente precisará ler dados de e escrever 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 no Python

Passo 1

Decida a política de uso. Você precisa saber se precisa ler ou escrever no arquivo antes de abri-lo. Abra o arquivo apenas com as permissões que realmente precisa e não abra um arquivo no modo leitura-escrita quando só precisa ler. Isso evitará gravações acidentais em arquivos nos quais não deveria escrever.

Passo 2

Decida se usa modo ASCII ou binário. Se estiver lendo texto, use modo ASCII. Se estiver lendo dados binários, use modo binário. Este modo traduzirá fins de linha para o modo que seu sistema operacional usa.

Passo 3

Crie a string de modo. O primeiro caractere é modo de leitura ou escrita. Se quiser abrir em modo binário, adicione "b" ao final da string. Por exemplo, para ler em modo ASCII, a string seria "r" e para escrever em modo binário, seria "wb".

Passo 4

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

f = open("/caminho/do/arquivo", "r")

Ler Arquivos no Python

Passo 1

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

for linha in f: print(linha)

Passo 2

Posicione em um ponto específico do arquivo. Arquivos nem sempre são lidos sequencialmente, então muitas vezes é necessário posicionar em um certo ponto antes de ler. Você pode fazer isso com o método seek de um objeto de arquivo.

# Posicionar no byte 100 f.seek(100)

# Posicionar 10 bytes a partir do byte atual f.seek(10, 1)

Passo 3

Leia 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)

Escrever em Arquivos Python

Passo 1

Escreva dados em um arquivo. Se um arquivo for aberto em modo de escrita, você pode escrever dados ASCII ou binários. Isso é feito com o método write de um objeto de arquivo.

f.write("Este é um texto")

Passo 2

Escreva objetos em um arquivo. Se precisar salvar o estado interno de um objeto, você pode "picklizar" (serializar). Para picklizar um objeto, primeiro importe o módulo pickle. Depois, você pode picklizar quase qualquer objeto com a função pickle.dump.

import pickle
pickle.dump(qualquer_objeto, f)

Passo 3

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

f.close()