Python/Módulos e Arquivos/Leitura e Escrita de Arquivos
Python⏱ ~2 min de leitura

Leitura e Escrita de Arquivos

open(), modos e boas práticas

Para ler e escrever arquivos em Python, use a função open(). O with statement garante que o arquivo seja fechado automaticamente, mesmo em caso de exceção — sempre prefira esse padrão.

Os modos principais são: "r" (leitura, padrão), "w" (escrita, apaga o conteúdo existente), "a" (append, adiciona ao final), "x" (cria novo, falha se existir) e "b" (binário, combinado com outros: "rb", "wb"). Adicionar "+" permite leitura e escrita: "r+".

Para texto, os métodos principais são read() (tudo de uma vez), readline() (linha por linha) e readlines() (lista de linhas). Para escrita, use write().

Exemplo.java
# Leitura — forma segura com with
with open("dados.txt", "r", encoding="utf-8") as f:
    conteudo = f.read()           # lê tudo
    print(conteudo)

# Ler linha por linha (eficiente para arquivos grandes)
with open("log.txt") as f:
    for linha in f:               # iteração direta
        print(linha.strip())

# Listas de linhas
with open("planilha.csv") as f:
    linhas = f.readlines()        # ["linha1
", "linha2
", ...]

# Escrita
with open("saida.txt", "w", encoding="utf-8") as f:
    f.write("Primeira linha
")
    f.writelines(["a
", "b
", "c
"])

# Append
with open("log.txt", "a") as f:
    f.write("Novo evento
")

# Trabalhando com caminhos (pathlib — moderno)
from pathlib import Path

caminho = Path("dados") / "arquivo.txt"
if caminho.exists():
    texto = caminho.read_text(encoding="utf-8")

caminho.write_text("conteúdo", encoding="utf-8")
💡 Dica pro

Sempre especifique encoding="utf-8" ao abrir arquivos de texto para evitar problemas de codificação entre sistemas operacionais.

Recompensa+30 XP+exercícios