Curso de Python

Aula 17 - Manipulação de Arquivos

Manipulação de Arquivos

O Python permite que você leia e modifique o conteúdo de arquivos! Lembrando que nessa aula vamos falar apenas de arquivos de texto, aqueles com a extensão .txt. Vamos lá. Imagine que você precise ler o conteúdo de um arquivo ou até alterar ele. Que tal fazer isso com Python? É simples e poderoso!

Abrindo Arquivos

Primeira coisa: pra mexer em um arquivo, a gente precisa abrir ele, certo? Então vamos aprender a abrir arquivos com Python.

A sintaxe básica pra isso é:

sintaxe_open.py
open(nome_do_arquivo, modo, encoding)

Agora vamos entender o que cada parte dessa função faz:

Vamos ver os modos mais comuns:

modos_arquivo.py
w - write: escreve no arquivo, apagando tudo o que tinha antes (cuidado!)
r - read: só lê o conteúdo do arquivo
a - append: adiciona conteúdo no final, sem apagar o que já tinha
a+ - append and read: adiciona conteúdo e também permite leitura

Exemplos Práticos

Exemplo 1: Escrevendo em um Arquivo

Primeiro, criamos uma variável chamada arquivo, e abrimos um arquivo pra escrita ('w'):

escrever_arquivo.py
arquivo = open('arquivo.txt', 'w', encoding='utf-8')
arquivo.write('Escrevendo coisas aqui')

Aqui a gente criou (ou sobrescreveu) um arquivo chamado arquivo.txt. Estamos usando o modo 'w', que vai apagar qualquer conteúdo antigo e escrever do zero. Também usamos encoding='utf-8' pra garantir que acentuação e caracteres especiais funcionem. Quando esse código é executado, ele cria o arquivo (se não existir) e escreve exatamente o que colocamos no .write().

Exemplo 2: Lendo um Arquivo

Agora vamos ver como a gente lê o conteúdo de um arquivo. Pra isso, usamos o modo 'r':

ler_arquivo.py
arquivo = open('arquivo.txt', 'r', encoding='utf-8')
print(arquivo.read())
Saída:
Escrevendo coisas aqui

Exemplo 3: Adicionando Conteúdo com Append

Legal! Agora vamos conhecer o modo 'a', que é usado pra adicionar conteúdo sem apagar o que já tinha:

append_arquivo.py
arquivo = open('arquivo.txt', 'a', encoding='utf-8')
arquivo.write('Escrevendo coisas aqui novamente!')

Vamos ler o conteúdo de novo e ver como ficou:

ler_apos_append.py
arquivo = open('arquivo.txt', 'r', encoding='utf-8')
print(arquivo.read())
Saída:
Escrevendo coisas aquiEscrevendo coisas aqui novamente!

Repara que o texto ficou tudo grudado. Isso acontece porque o write() escreve exatamente como a gente manda, e não coloca uma quebra de linha automática. Porém a solução é simples: apenas usar '\n' pra pular pra próxima linha.

Exemplo 4: Corrigindo com Quebra de Linha

Vamos corrigir isso:

append_com_quebra.py
arquivo = open('arquivo.txt', 'a', encoding='utf-8')
arquivo.write('\nEscrevendo coisas aqui novamente!')

Agora sim, tudo organizadinho! Vamos ler o conteúdo novamente:

ler_apos_quebra.py
arquivo = open('arquivo.txt', 'r', encoding='utf-8')
print(arquivo.read())
Saída:
Escrevendo coisas aqui
Escrevendo coisas aqui novamente!

Exemplo 5: Usando o 'with'

Legal demais, né? Agora deixa eu te mostrar um truque profissional: Ao invés de abrir e fechar arquivos manualmente, dá pra usar o with. É um método mais seguro para abrir arquivos e modificá-los.

with_arquivo.py
with open('arquivo.txt', 'a', encoding='utf-8') as arquivo:
    arquivo.write('\nMais uma linha adicionada com segurança!')

Aqui usamos o with open(...) as arquivo, o que significa que ele automaticamente fecha o arquivo, evitando desastres posteriores.