Como escrever ou imprimir em um arquivo em Python

Precisa imprimir em um arquivo em Python? Hoje descobriremos como é fácil começar a gravar em arquivos. Abordaremos a criação de novos arquivos, anexando arquivos existentes e sobrescrevendo arquivos existentes.

Abra um arquivo para escrever em Python

Você provavelmente já sabe como imprimir na tela em Python , mas pode não saber como imprimir para um arquivo. Felizmente, como grande parte da programação Python para iniciantes, a sintaxe de escrita de arquivo é simples, legível e fácil de entender.

Relacionado: Como criar, importar e reutilizar seu próprio módulo em Python

Com isso em mente, vamos começar.

Criar e gravar em um novo arquivo em Python

Para criar um novo arquivo em Python e abri-lo para edição, use a função open () embutida e especifique o nome do arquivo seguido pelo parâmetro x .

 f = open("testfile.txt", "x")

Ao usar o parâmetro "x", você obterá um erro se o nome do arquivo especificado já existir.

Se for bem-sucedido, agora você pode gravar no arquivo usando o método write () .

 f.write("Hello, world!")

Cada linha de texto que você "escreve ()" terminará com um caractere de fim de linha, então cada string adicional será escrita em uma nova linha.

É uma boa prática sempre fechar qualquer arquivo aberto usando o método close () . Caso contrário, seu arquivo pode não ser salvo no disco.

 f.close()

Você também pode criar e gravar em um arquivo em Python com menos linhas usando a palavra chave with .

 with open("testfile.txt", "x") as f:
f.write("Hello, world!")

Essa abordagem é recomendada porque o pacote "com" fechará seu arquivo automaticamente após terminar, então você nunca precisa se lembrar de fechá-lo sozinho.

Depois de escrever seu arquivo, você pode lê-lo abrindo com o parâmetro r e chamando o método read () .

 with open("testfile.txt", "r") as f:
print(f.read())

Grave em um arquivo existente em Python

Se o arquivo que deseja escrever a já existe, e você deseja adicionar linhas adicionais para isso, você precisa abri-lo usando o parâmetro para "acréscimo."

 with open("testfile.txt", "a") as f:
f.write("I'm an additional line.")

Qualquer coisa que você escrever depois de abrir com o parâmetro "a" será acrescentada com uma nova linha.

Este código também assume que seu arquivo está no mesmo diretório em que seu script Python está operando. Se estiver em um diretório diferente, você precisará especificar seu caminho.

Saiba mais: como obter o diretório atual em Python

Sobrescrever um arquivo existente em Python

Se o seu arquivo já existe, mas você deseja sobrescrever em vez de anexado, você pode fazer isso abrindo o arquivo com o parâmetro w .

 with open("testfile.txt", "w") as f:
f.write("Hello, world!")

Não importa o que foi escrito em testfile.txt, a saída será "Olá, mundo!" quando você lê.

Solução de problemas de gravação de arquivo em Python

Se o texto que você está imprimindo no arquivo estiver ficando confuso ou mal lido, certifique-se de sempre abrir o arquivo com a codificação correta.

 with open("testfile.txt", "w", encoding="utf8") as f:

A maioria dos arquivos de texto hoje em dia usa codificação UTF-8, mas alguns outros comuns são ISO-8859 (iso-8859-1), UTF-16 (utf16) ou Windows-1252 (cp1252).

Seu conjunto de ferramentas Python agora inclui a capacidade de imprimir em um arquivo, uma tarefa frequente em scripts.

Para ajudá-lo em sua jornada de aprendizado de Python, reunimos uma lista de sites que oferecem explicações detalhadas e dicas sobre Python.