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