Ajude nosso projeto a se manter online, faça um PIX de qualquer valor:
programacao.progressiva@gmail.com

Como Escrever em um Arquivo: write() e Modos de Abertura

Neste tutorial de nosso Curso de Python, vamos mostrar como fazer para escrever algo em um arquivo via programação Python e modos de abertura de arquivos.

Caso deseje trabalhar e ganhar dinheiro como programador Python:

Como Escrever em um Arquivo: Método write()


A palavra print em inglês significa imprimir.

Quando usamos a função print é porque estamos imprimindo, escrevendo na tela do shell e na tela de seu computador, é uma maneira de escrever.

Outra maneira de printar ou escrever é fazendo isso em arquivos. Ou seja, escrevemos via script Python dentro de um arquivo.

Mas, antes, precisamos ver o que é modo de abertura.



Modos de Abertura

Quando falamos em abrir arquivos via função open() fazemos somente:
open(caminho)

Onde caminho é uma string com o endereço do arquivo que queremos abrir.
Porém, isso é o mesmo que fazer:
  • open(caminho, 'r')

Esse r é de read, ou seja, leitura. É um modo de abertura, significa que estamos abrindo um arquivo para leitura, ou seja, modo de abertura read.

Nesse modo, podemos apenas ler os dados de um arquivo, não podemos alterar nada.





Escrevendo em Arquivos: write() e 'w'

Antes de escrevermos em um arquivo, precisamos abrir ele no modo escrita.
Para isso, fazemos:
  • open(caminho, 'w')

Em seguida, para escrevermos uma string em um arquivo de nome file.txt usamos o método write(), de objetos de tipo File.

Por fim, temos sempre que fechar o arquivo, ao término do script, através do método close().

O seguinte código Python escreve a string "Curso Python Progressivo" no arquivo file.txt:
meuArquivo = open('file.txt', 'w')
meuArquivo.write("Curso Python Progressivo")
meuArquivo.close()

Agora vá lá na pasta que está o seu script Python e veja que apareceu um arquivo de nome file.txt
Abra ele e veja que vai estar escrito lá dentro:
"Curso Python Progressivo".

Prontinho! Você acabou de escrever, printar uma string dentro de um arquivo em seu computador.

Detalhe para uma coisa: se você abrir e escrever em um arquivo que não existe, ele cria esse arquivo.

Adicionando Informações em um Arquivo: Modo append, 'a'

Agora temos um arquivo de nome file.txt e dentro dele teme scrito "Curso Python Progressivo".

Vamos escrever outra frase nele:
"O melhor curso de Python"

Repetimos o código:
meuArquivo = open('file.txt', 'w')
meuArquivo.write("O melhor curso de Python")
meuArquivo.close()

Agora vá lá e leia o que está escrito:
"O melhor curso de Python"

Epa!!!! Alto lá!!!
Cadê a string "Curso Python Progressivo" ? Queríamos adicionar uma string, e não substituir o que tinha lá.

Pois é, ao usar o modo de abertura write 'w', ele sobrescreve o arquivo, caso ele já exista.
Ou seja, apaga e cria um novo, com essa nova informação.

Para ADICIONAR, vamos usar o modo de adição (append mode), simbolizado por 'a' quando formos abrir nosso arquivo.

Repita o código lá de cima, com:
meuArquivo = open('file.txt', 'w')
meuArquivo.write("Curso Python Progressivo\n")
meuArquivo.close()

Agora, modifique seu código para:
meuArquivo = open('file.txt', 'a')
meuArquivo.write("O melhor curso de Python")
meuArquivo.close()

E abra o arquivo de texto:
Modos de abertura em Python: read ('r'), write ('w') e append ('a')


Voilá! Adicionamos mais uma string, sem apagar o que tinha lá antes!!!
Tudo isso porque usamos o modo de abertura 'a'.

Modos de abertura de Arquivos em Python

  • "a"  - Escreve ao final do arquivo; se este não existir, é criado
  • "r"  - Abre o arquivo para a leitura, se não existir, lançar um eerro de IOError
  • "r+" - Abra um arquivo para leitura e escrita. Se não existe, lança um erro IOError
  • "w"  - Abre um arquivo para escrita. Se existe, ele 'trunca' tudo e escreve por cima. Se não existir o arquivo, ele cria
  • "w+" - Abre para leitura e escrita. Se existe, apaga todo conteúdo e escreve por cima. Se não existir o arquivo, ele cria
  • "ab", "rb", "r+b", "wb", "w+b" - Abre arquivos para trabalhar com entrada e saída no modo binário, para plataformas Windows e Macintosh

Nenhum comentário:

Postar um comentário