Capítulo 09: Manipulação de Arquivos 🚲📻
Neste capítulo, vamos aprender a ler e escrever dados em arquivos de texto, com o tema Stranger Things!
📖 Por que manipular arquivos?
Até agora, todos os dados que usamos sumiam quando o programa era fechado. Para salvar dados permanentemente, precisamos gravá-los em arquivos no disco rígido.
Veja como o programa interage com o arquivo:
graph LR A[💻 Programa Python] -->|Escreve 'w'| B["📄 Arquivo: pistas.txt"] B -->|Lê 'r'| A
📖 Exemplo Guiado: Gravando Pistas
Vamos criar um programa que salva uma lista de pistas sobre o Mundo Invertido em um arquivo de texto.
- Crie o arquivo
gravar_pistas.pyna pastasrc/:
# Abrindo o arquivo para escrita ('w' de write)
with open("pistas.txt", "w", encoding="utf-8") as arquivo:
arquivo.write("1. O portal fica no laboratório de Hawkins.\n")
arquivo.write("2. O teto pisca quando o monstro está perto.\n")
arquivo.write("3. Música ajuda a escapar do Vecna.\n")
print("Pistas salvas com sucesso no arquivo pistas.txt!")🕹️ Como Executar e Testar no VS Code
- Abra o arquivo
gravar_pistas.py. - Clique no botão Run Python File.
Resultado Esperado:
O programa exibirá a mensagem de sucesso e um arquivo chamado pistas.txt será criado na mesma pasta com as 3 linhas de texto.
🛠️ Prática Obrigatória 1: Lendo as Pistas
Crie um programa chamado ler_pistas.py que abra o arquivo pistas.txt criado no exemplo anterior, leia todo o seu conteúdo e o exiba no terminal.
🛠️ Prática Obrigatória 2: Diário do Mike
Crie um programa chamado diario_mike.py que peça ao usuário para digitar uma frase sobre o que aconteceu no dia e salve essa frase em um arquivo chamado diario.txt (use o modo 'a' de append para não apagar o que já estava escrito).
🔑 Gabarito de Código
Prática 1: ler_pistas.py
with open("pistas.txt", "r", encoding="utf-8") as arquivo:
conteudo = arquivo.read()
print("--- Pistas do Mundo Invertido ---")
print(conteudo)Prática 2: diario_mike.py
frase = input("O que aconteceu hoje? ")
with open("diario.txt", "a", encoding="utf-8") as arquivo:
arquivo.write(frase + "\n")
print("Diário atualizado!")📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
(Siga o mesmo padrão do Capítulo 01)