Como ler um arquivo em Python (texto e JSON)

Aprenda como ler arquivos em Python. Domine a instrução open, readline, readlines e manipule exceções de arquivo com segurança.

Experimente esta solução no Editor

Visão geral

O manuseio de arquivos é uma habilidade essencial para qualquer desenvolvedor Python. A leitura de dados de arquivos permite processar documentos de texto, configurações, logs, bancos de dados e conjuntos de dados estruturados. Python torna as operações de arquivo extremamente simples por meio de sua função integrada `open()`.

Ao trabalhar com arquivos, a prática recomendada mais crítica é usar a instrução `with`, que cria um gerenciador de contexto. O padrão `with open(...)` garante que o arquivo seja fechado de forma segura e adequada assim que a execução sai do bloco, mesmo que ocorra uma exceção dentro dele. Esquecer de fechar arquivos pode causar vazamentos de memória, corrupção de arquivos e bloqueio de recursos de outros processos do sistema.

Python fornece vários métodos para ler dados quando um arquivo é aberto. O método `.read()` retorna todo o conteúdo do arquivo como uma única string. O método `.readline()` lê uma única linha, tornando-o perfeito para iterar arquivos gigantes que não caberiam na memória. O método `.readlines()` lê todas as linhas e as retorna como uma lista de strings. Entender qual método usar evita o esgotamento da memória e torna seus programas mais escaláveis.

Saída de código e execução

Este script demonstra a leitura segura do conteúdo do arquivo usando o gerenciador de contexto, leitura linha por linha e tratamento de erros.

# Writing a dummy file first
with open("sample.txt", "w") as f:
    f.write("Line 1: Welcome to PyRun!\nLine 2: Python runs in the browser.\nLine 3: Clean and simple.")

# 1. Read entire file contents
with open("sample.txt", "r") as file:
    content = file.read()
    print("--- Entire File ---")
    print(content)

# 2. Read line-by-line (Memory efficient for large files)
print("\n--- Line by Line ---")
with open("sample.txt", "r") as file:
    for line in file:
        print("Read line:", line.strip())
Saída terminal
--- Entire File ---
Line 1: Welcome to PyRun!
Line 2: Python runs in the browser.
Line 3: Clean and simple.

--- Line by Line ---
Read line: Line 1: Welcome to PyRun!
Read line: Line 2: Python runs in the browser.
Read line: Line 3: Clean and simple.

Implementação passo a passo

  • Use a instrução with open("filename", "r") as file para abrir o arquivo com segurança para leitura.
  • Chame file.read() para carregar todo o conteúdo do arquivo em uma variável.
  • Itere diretamente sobre o objeto de arquivo usando um loop for para lê-lo linha por linha com eficiência.
  • Sempre especifique a codificação (por exemplo, encoding="utf-8") para compatibilidade de caracteres internacionais.

Perguntas frequentes

Por que devo usar a instrução with para abrir arquivos?

A instrução with cria um gerenciador de contexto que fecha automaticamente o arquivo quando o bloco é encerrado, mesmo se ocorrerem erros.

Como faço para lidar com um FileNotFoundError?

Envolva sua instrução open() em um bloco try-except, capturando FileNotFoundError: try: with open(...) ... exceto FileNotFoundError: print("Arquivo não encontrado!").

Tópicos Relacionados

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.