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.

Experimente esta solução no Editor

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())
Saída terminal
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

Recursos Python recomendados

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