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.

  1. Crie o arquivo gravar_pistas.py na pasta src/:
# 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

  1. Abra o arquivo gravar_pistas.py.
  2. 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)


Capitulo Anterior | Proximo Capitulo