Como escrever em um arquivo em Python (escrever e anexar)
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.
Visão geral
Gravar dados em arquivos é uma tarefa fundamental ao construir scripts, salvar estados de programas, criar logs ou exportar relatórios. Python simplifica a saída de arquivos usando a função integrada `open()`, combinada com modos específicos de acesso a arquivos que controlam como os dados são gravados no disco.
Ao gravar arquivos, os dois modos mais comuns são o modo de gravação (`"w"`) e o modo de acréscimo (`"a"`). O modo de gravação substitui totalmente o arquivo, se ele já existir, ou cria um novo, se não existir. O modo de acréscimo preserva o conteúdo existente e grava novos dados diretamente no final do arquivo. Usar o modo errado pode levar à perda acidental de dados, portanto escolha com cuidado.
Semelhante à leitura de arquivos, você deve sempre usar a instrução `with open(...)`. Isso garante que o buffer do arquivo seja liberado e o identificador do arquivo seja fechado corretamente, economizando recursos do sistema e evitando a corrupção de dados. Para escrever listas de strings, Python fornece o método `.writelines()`, tornando as gravações em massa limpas e eficientes.
Saída de código e execução
Este script demonstra a substituição, acréscimo e visualização de arquivos em Python.
# 1. Overwrite a file (or create new) using "w"
with open("output.txt", "w") as file:
file.write("Hello World from Python!\n")
file.write("Writing file content is simple.\n")
# 2. Append new content to the file using "a"
with open("output.txt", "a") as file:
file.write("This line is appended.\n")
# 3. Reading the file back to verify contents
with open("output.txt", "r") as file:
print(file.read().strip())Hello World from Python!
Writing file content is simple.
This line is appended.Implementação passo a passo
- Use com open('filename', 'w') como arquivo para substituir ou criar um arquivo.
- Use com open('filename', 'a') como arquivo para acrescentar texto no final do arquivo.
- Chame file.write('string') para gravar segmentos de texto individuais no arquivo.
Perguntas frequentes
O que acontece se o diretório do arquivo não existir?
Python irá gerar um FileNotFoundError. Você deve criar o diretório primeiro usando a função os.makedirs antes de gravar o arquivo.
Como escrevo variáveis ou números em um arquivo?
O método write() aceita apenas argumentos de string. Você deve converter números usando str(num) ou formatá-los usando strings f.
Tópicos Relacionados
Aprenda como ler arquivos em Python. Domine a instrução open, readline, readlines e manipule exceções de arquivo com segurança.
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.
E/S de arquivo Python
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.
Folha de referências de operações de arquivo Python
Referência rápida para leitura e gravação de arquivos em Python. Domine modos abertos, gerenciadores de contexto e leitura linha por linha.
Decoradores Python versus padrão de design de decorador: as principais diferenças
Compare os decoradores Python e o padrão de design clássico do decorador. Entenda as diferenças entre o agrupamento de funções em tempo de definição e a composição dinâmica de objetos em tempo de execução com código executável.