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.
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())--- 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
Aprenda como escrever texto em arquivos em Python. Domine a diferença entre os modos de gravação ("w") e acréscimo ("a") com gerenciadores de contexto seguros.
Como lidar com exceções em PythonAprenda como lidar com exceções em Python usando blocos try, exceto, else e finalmente. Escreva código Python livre de erros e resistente a falhas.
Recursos Python recomendados
Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.
Variáveis e tipos de dados Python explicados
Entenda as variáveis do Python e os principais tipos de dados (strings, inteiros, flutuantes, booleanos). Um guia completo para iniciantes sobre atribuição de memória em Python.
Folha de referências dos métodos do dicionário Python
Aprenda métodos de dicionário Python. Guia de referência completo para inserções, recuperações, atualizações e verificações de pares de valores-chave.
Python vs JavaScript: qual linguagem de programação é a melhor?
Uma comparação abrangente entre Python e JavaScript. Explore diferenças de sintaxe, desempenho, casos de uso (backend versus frontend) e exemplos de codificação.