E/S de arquivo Python: lendo e gravando arquivos com segurança
Aprenda a ler e escrever arquivos em Python. Domine open(), read(), write() e gerenciadores de contexto para lidar com operações de arquivo com segurança sem vazamentos de recursos.
Visão geral
A entrada/saída de arquivo (E/S) é um recurso fundamental que permite que programas Python interajam com o armazenamento persistente de um computador. Esteja você construindo um registrador simples, lendo arquivos de configuração ou processando grandes matrizes de dados, seu programa precisa de uma maneira confiável de abrir, ler, gravar e fechar arquivos no disco. Python fornece funções limpas e integradas para tornar a interação do sistema de arquivos simples e multiplataforma.
A principal ferramenta para acesso a arquivos em Python é a função integrada `open()`. Esta função aceita um caminho de arquivo e uma string de modo. O modo determina como o arquivo é acessado: `'r'` para leitura, `'w'` para gravação (que sobrescreve o arquivo), `'a'` para anexar conteúdo ao final e `'b'` para modo binário (útil para imagens ou dados serializados). Fundamentalmente, sempre que você abre um arquivo, ele consome um identificador do sistema operacional. Se você não conseguir fechar o arquivo, poderá causar vazamentos de memória ou problemas de bloqueio de arquivo.
Para garantir que os arquivos sejam sempre fechados corretamente, os desenvolvedores Python usam a instrução `with`, que implementa um gerenciador de contexto. Ao usar `with open(...) as file:`, Python fecha automaticamente o identificador de arquivo assim que o bloco de código termina, mesmo se ocorrer uma exceção inesperada dentro dele. A leitura dos dados pode ser feita linha por linha usando `for line in file:` ou todos de uma vez via `.read()`, `.readline()` ou `.readlines()`. A escrita de texto é feita via `.write()` ou `.writelines()`, permitindo operações de arquivo suaves, seguras e eficientes.
Saída de código e execução
Escrever uma saudação em um arquivo de texto temporário e lê-lo linha por linha usando gerenciadores de contexto seguros.
filename = "sample.txt"
# Writing to a file
with open(filename, "w") as file:
file.write("Hello, Python coder!\n")
file.write("This is a line in a file.\n")
file.write("File I/O is simple.\n")
print("File written successfully.\n--- Reading File ---")
# Reading from a file line by line
with open(filename, "r") as file:
for index, line in enumerate(file, 1):
print(f"Line {index}: {line.strip()}")File written successfully.
--- Reading File ---
Line 1: Hello, Python coder!
Line 2: This is a line in a file.
Line 3: File I/O is simple.Implementação passo a passo
- Registrando erros e saída do programa
- Lendo arquivos de configuração (por exemplo, .env ou config.txt)
- Salvando relatórios de usuários ou resumos analíticos exportados
Perguntas frequentes
Qual é a diferença entre os modos de gravação e acréscimo?
O modo de gravação ('w') trunca o arquivo para comprimento zero, excluindo qualquer conteúdo existente antes de gravar. O modo de acréscimo ('a') coloca o cursor no final, adicionando novo texto sem excluir o conteúdo existente.
Por que devo usar a instrução with?
A instrução with atua como um gerenciador de contexto, garantindo que os arquivos sejam fechados automaticamente, o que evita vazamentos de memória e erros de bloqueio de arquivos.
Tópicos Relacionados
Aprenda como escrever gerenciadores de contexto personalizados em Python. Domine o decorador contextmanager e os métodos __enter__/__exit__ para segurança de recursos.
Análise Python JSONAprenda como ler, escrever e analisar dados JSON em Python. Domine json.loads, json.dumps e personalize codificadores/decodificadores JSON.
Python CSVAprenda como lidar com dados CSV em Python. Domine csv.reader, csv.writer e DictReader/DictWriter para análise eficiente de tabelas.
Recursos Python recomendados
Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.
Como ler um arquivo em Python
Aprenda como ler arquivos em Python. Domine a instrução open, readline, readlines e manipule exceções de arquivo com segurança.
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.