Como escrever arquivos usando Python

Como escrever arquivos usando Python

Neste post vamos ver como escrever arquivos usando Python, isso é uma ferramenta muito importante oferecido pela linguagem Python que permite criar arquivos em diferentes formatos, como txt, csv, xlsx, etc.

No vídeo a seguir é mostrado como escrever arquivos usando Python:

Código

Para escrever arquivos em Python, você deve usar a função open, como mostrado abaixo:

myFile = open("tabela.csv", "w")

A função open possuí dois dados importantes para ser configurado, o primeiro é o nome do arquivo, e o segundo é o modo como o arquivos será aberto. Na tabela abaixo são listados os modos como os arquivos podem ser abertos:

aModo append, esse modo mantém os dados anteriores e adiciona novos dados ao arquivo.
bModo binário, usado para arquivos do tipo imagem por exemplo.
rModo leitura, abre o arquivo para leitura e caso o arquivo não exista retorna um erro.
tModo texto, esse modo já está definido por padrão.
wModo escrita, reescreve um arquivos, apagando os dados pré existentes no arquivo.
xCria um novo arquivo, e caso o arquivo já exista a função retorna um erro.
Tabela com os modos da função open do Python

No código apresentado no vídeo é possível observar que o modo “w” também cria um arquivo caso o mesmo não exista, abaixo é mostrado o código completo apresentado no vídeo:

import random

myFile = open("tabela.csv", "w")

for i in range(0, 100):
	j = str(random.sample(range(0, 101), 1))
	myFile.write(j + "\n")
	
myFile.close()

Para escrever no arquivo os dados no arquivo, utilizamos o método write(). Também é importante observar que após finalizar a escrita de todos os dados no arquivo é importante usar o método close() para fechar o arquivo.

O código acima pode ser melhorado, vamos uma usar o modo “x” para criar um novo arquivo e o modo “w” para escrever, e caso o arquivo já exista vamos fazer o tratamento adequado.

import random

try:
	myFile = open("tabela.csv", "x")
except:
	myFile = open("tabela.csv", "w")

for i in range(0, 100):
	j = str(random.sample(range(0, 101), 1))
	myFile.write(j + "\n")
	
myFile.close()

Quando o código acima for executado mais de uma vez, ele vai reescrever o arquivo existente, mas podemos fazer mais uma melhoria, informando para o usuário que o arquivo já existe e se ele deseja reescrever ou adicionar dados ao arquivo.

Para finalizar, podemos criar um input para que o usuário defina o nome do arquivo e o modo como ele deseja trabalhar com o arquivo, como por exemplo no código mostrado a seguir:

import random

name = input("Entre com o nome do arquivo: ")
name = name + ".csv"

try:
	myFile = open(name, "x")
except:
	modo = input('Entre com o modo do arquivo, "a" ou "w"')
	while modo != "a" and modo != "w":
		modo = input('Entre com o modo do arquivo, "a" ou "w"')
	myFile = open(name, modo)


for i in range(0, 100):
	j = str(random.sample(range(0, 101), 1))
	myFile.write(j + "\n")
	
myFile.close()

O código acima permite que usuário defina um nome para o seu arquivo, e também defina o modo como quer trabalhar com arquivo, se quer reescrever o arquivo, ou se apenas deseja inserir novos dados.

Conclusão

Neste post vimos como escrever arquivos usando Python, que podem ser salvos em diferentes formatos, e com uma série de dados diferentes. Esse recurso pode ser utilizado para coletar dados de um dispositivo externo, como por exemplo, de um conversor AD de um microcontrolador pela porta USB, e com isso salvar os dados em uma tabela e que depois pode ser usado para obter uma informação importante.

Isso é tudo pessoal, e até o próximo post.