Compre o e-book deste material aqui!
Um arquivo texto usualmente é identificado com a extensão .txt e contém uma string, i.e. uma coleção de caracteres.
Consideramos que o seguinte arquivo:
O nome deste aquivo é foo.txt. Escreva-o em um editor de texto e salve-o com o nome foo.txt em uma pasta de sua área de usuário no sistema de seu computador.
Em programação, a leitura de um arquivo consiste em importar dados/informação de um arquivo para um código/programa. Para tanto, precisamos abrir o arquivo, i.e. criar um objeto file associado ao arquivo. Em Python, abrimos um arquivo com a função open(file, mode). Nela, file consiste em uma string com o caminho para o aquivo no sistema de arquivo do sistema operacional e, mode é uma string que especifica o modo de abertura. Para a abertura em modo leitura de um arquivo texto, usa-se mode=’r’ (r, do inglês, read).
Um vez aberto a leitura do arquivo pode ser feita com métodos específicos do objeto file, por exemplo, com o método file.red. Para uma lista de métodos disponíveis em Python, consulte
https://docs.python.org/3/tutorial/inputoutput.html#methods-of-file-objects
Por fim, precisamos fechar o arquivo, o que pode ser feito com o método file.close.
Por exemplo, consideramos o seguinte código
Na primeira linha, o código: 1. abre o arquivo foo.txt4040endnote: 40Aqui, é considerado que o arquivo está na mesma pasta em que o código está sendo executado., 2. lê o aquivo inteiro, 3. fecha-o e, 4. imprime o conteúdo lido. No código, texto é uma string que pode ser manipulada com os métodos e técnicas na Seção 2.6.
Alternativamente, pode-se fazer a leitura linha-por-linha do arquivo, como segue
A escrita de um arquivo consiste em exportar dados/informações de um código/programa para um arquivo de dados. Para tanto: 1. abrimos o arquivo no código com o comando open(file, mode=’w’) (w, do inglês, write); 2. usamos um método de escrita, por exemplo, file.write para escrever no arquivo; 3. fechamos o arquivo com file.close.
Por exemplo, o seguinte código escreve o arquivo foo.txt (consulte o Código 7).
Observamos que abertura de arquivo no modo mode=’w’ sobrescreve o arquivo caso ele já exista. Para escrever em um arquivo já existente, sem perdê-lo, podemos usar o modo mode=’a’ (’a’, do inglês, append).
Vamos fazer um código que adiciona uma nova entrada na tabela de valores do arquivo foot.txt, disponível no Código 7. A nova entrada, corresponde ao valor de .
Um arquivo binário permite a escrita e leitura de dados binários de qualquer tipo (int, float, str, tuple, list, etc.). A módulo pickle contém funções para a escrita e leitura de dados em aquivos binários.
Em um arquivo binário, os dados são escritos como registros binários, i.e. precisam ser convertidos para binário (serializados) e escritos no arquivo. A função pickle.dump faz isso para qualquer objeto Python.
A leitura de um arquivo binário requer conhecer a estrutura dos dados alocados. No caso de um arquivo pickle, a leitura pode ser feita com a função pickle.load. Por exemplo, o arquivo foo.bin (criado no Código 9) pode ser lido como segue
O NumPy contém a função numpy.save(fn, arr) para escrita no arquivo binário fn um arranjo numpy.array. Por padrão, a extensão .npy é usada. Por exemplo,
A leitura de um arquivo .npy pode ser feita com a função numpy.load(fn), que retorna o arranjo lido a partir do arquivo binário fn. Por exemplo,
Baixe o arquivo foo.txt disponível no Código 7. Então, desenvolva um código que:
leia o aquivo foo.txt e,
salve um novo arquivo novo.txt que não contenha a terceira entrada da tabela contida no arquivo original.
Desenvolva um código que escreve a seguinte tabela de ângulos fundamentais em um arquivo texto.
Dica: consulte o Código 8.
Desenvolva um código que escreve a tabela dada no Exercício 6.1.2 como um dicionário em um arquivo binário. Então, leia o arquivo gerado e verifique os dados salvos.
Dica: consulte a Subseção 6.1.2.
Baixe para seu computador o seguinte arquivo texto.
Este arquivo contém os elementos da matriz . Desenvolva um código que leia este arquivo, aloque a matriz associada e, então, calcule e imprima o valor de seu determinante, i.e. .
Dica: use o método str.split.
Faça um código que salve a matriz
(6.1) |
como um arquivo binário .npy. Em um outro código, leia o arquivo gerado, compute e imprima o traço de , i.e.
(6.2) |
Dica: .
As informações preenchidas são enviadas por e-mail para o desenvolvedor do site e tratadas de forma privada. Consulte a Política de Uso de Dados para mais informações. Aproveito para agradecer a todas/os que de forma assídua ou esporádica contribuem enviando correções, sugestões e críticas!