Leitura e Escrita de Arquivos

PythonBeginner
Pratique Agora

Introdução

Neste laboratório, aprenderemos como ler e escrever arquivos em Python. Começaremos com exemplos simples e aumentaremos gradualmente a complexidade do código.

Ler e escrever arquivos é uma habilidade essencial em qualquer linguagem de programação. Permite-nos armazenar e manipular dados de forma persistente, sendo um bloco de construção fundamental para muitas aplicações. Em Python, ler e escrever arquivos é direto e fácil de aprender. Começaremos aprendendo como ler um arquivo e, em seguida, passaremos para a escrita de arquivos.

Conquistas

  • Leitura e Escrita de Arquivos

Lendo um Arquivo

Para ler um arquivo em Python, usamos a função open, que retorna um objeto de arquivo. Podemos então usar vários métodos do objeto de arquivo para ler o conteúdo do arquivo.

Abra uma nova sessão do interpretador Python e digite o seguinte código:

python3

Aqui está um exemplo de como abrir e ler um arquivo de texto:

## Open the file
f = open('filename.txt', 'r')

## Read the contents of the file
contents = f.read()

## Print the contents
print(contents)

## Close the file
f.close()

A função open recebe dois argumentos: o nome do arquivo e o modo em que o arquivo deve ser aberto. Neste caso, usamos o modo 'r', que significa "read" (ler). Este é o modo padrão, então também poderíamos ter escrito open('filename.txt').

O método read do objeto de arquivo retorna o conteúdo do arquivo como uma string. Podemos então imprimir o conteúdo ou manipulá-lo da maneira que quisermos.

É importante fechar o arquivo quando terminamos de usá-lo, para liberar recursos do sistema. Podemos fazer isso usando o método close do objeto de arquivo.

Escrevendo um Arquivo

Para escrever em um arquivo em Python, seguimos um processo semelhante ao de leitura de um arquivo. Usamos a função open para obter um objeto de arquivo e, em seguida, usamos o método write para escrever no arquivo.

Aqui está um exemplo de como abrir um arquivo para escrita e escrever algum texto nele:

## Open the file
f = open('filename.txt', 'w')

## Write some text to the file
f.write('Hello, world!\nPython')

## Close the file
f.close()

Assim como na leitura de um arquivo, usamos a função open para obter um objeto de arquivo. Desta vez, usamos o modo 'w', que significa "write" (escrever). Isso criará o arquivo se ele ainda não existir e o sobrescreverá se já existir.

O método write recebe uma string como argumento e a escreve no arquivo. Assim como na leitura de um arquivo, é importante fechar o arquivo quando terminamos de usá-lo.

Trabalhando com o Conteúdo do Arquivo

Agora que sabemos como ler e escrever arquivos, vamos analisar alguns exemplos mais avançados de como trabalhar com o conteúdo de arquivos.

Lendo um arquivo linha por linha

Às vezes, podemos querer ler um arquivo linha por linha, em vez de ler todo o conteúdo de uma vez. Para fazer isso, podemos usar o método readline do objeto de arquivo.
Aqui está um exemplo de como ler um arquivo linha por linha:

## Open the file
f = open('filename.txt', 'r')

## Read and print each line
for line in f:
    print(line)

## Close the file
f.close()

O loop for itera sobre as linhas do arquivo. Em cada iteração, ele lê e imprime a linha atual. Quando não houver mais linhas para ler, o loop termina e o arquivo é fechado.

Escrevendo em um arquivo linha por linha

Para escrever em um arquivo linha por linha, podemos usar o método writelines do objeto de arquivo. Este método recebe uma lista de strings como argumento e as escreve no arquivo, com cada string na lista se tornando uma linha separada no arquivo.

Aqui está um exemplo de como escrever em um arquivo linha por linha:

## Open the file
f = open('filename.txt', 'w')

## Write a list of lines to the file
lines = ['Line 1', 'Line 2', 'Line 3']
f.writelines(lines)

## Close the file
f.close()

Anexando a um arquivo

Para anexar a um arquivo, em vez de sobrescrevê-lo, podemos usar o modo 'a' ao abrir o arquivo. Isso abrirá o arquivo no modo de anexação, permitindo que adicionemos novo conteúdo ao final do arquivo sem sobrescrever o conteúdo existente.

Aqui está um exemplo de como anexar a um arquivo:

## Open the file
f = open('filename.txt', 'a')

## Append some text to the file
f.write('This is new content')

## Close the file
f.close()

Declaração 'with'

A declaração with em Python é usada para envolver a execução de um bloco de código com métodos definidos por um gerenciador de contexto (context manager). Um gerenciador de contexto é um objeto que define os métodos __enter__ e __exit__. A declaração with cria um gerenciador de contexto temporário para a duração do bloco de código indentado que o segue.

A função open é uma função embutida do Python que retorna um objeto de arquivo, que representa um arquivo aberto. Ao trabalhar com arquivos, é importante fechá-los quando terminamos de usá-los para liberar recursos do sistema. A declaração with facilita o trabalho com arquivos, porque fecha automaticamente o arquivo quando o bloco de código é finalizado, mesmo que uma exceção seja levantada.

Aqui está um exemplo de como usar a declaração with para abrir e ler um arquivo:

with open('filename.txt', 'r') as f:
    contents = f.read()
    print(contents)

Neste exemplo, a função open é chamada dentro da declaração with para abrir o arquivo 'filename.txt' no modo de leitura. O objeto de arquivo é então passado para a cláusula as, onde recebe o nome f. O bloco de código indentado que segue a declaração with pode então usar o objeto de arquivo f para ler o conteúdo do arquivo.

Quando o bloco de código é finalizado, o arquivo é automaticamente fechado pelo gerenciador de contexto, mesmo que uma exceção seja levantada. Isso significa que não precisamos chamar o método close do objeto de arquivo explicitamente.

Usar a declaração with para gerenciar o tempo de vida de um objeto de arquivo é recomendado em vez de abrir e fechar o arquivo manualmente, porque é mais conciso e garante que o arquivo seja sempre fechado corretamente, mesmo que uma exceção seja levantada.

Resumo

Neste laboratório, aprendemos como ler e escrever arquivos em Python. Vimos como abrir e fechar arquivos, ler e escrever seus conteúdos e trabalhar com o conteúdo de arquivos de maneiras mais avançadas. Também vimos como usar diferentes modos ao abrir arquivos para controlar como eles são acessados.

Ao final deste laboratório, você deve ser capaz de ler e escrever arquivos em Python com confiança.