Como criar e ler arquivos com Python
Aprenda a criar arquivos para armazenar logs, salvar dados e ler arquivos para análise de dados.
Neste artigo iremos aprender a criar arquivos .txt e a ler o seu conteúdo utilizando Python. É muito comum utilizarmos arquivos para carregar dados para uma aplicação, especialmente quando a base de dados não é tão grande.
Utilizando a função open( ) para criar um novo arquivo de texto
Para criar um novo arquivo texto, você pode utilizar a função open(). Neste exemplo você precisa utilizar apenas dois parâmetros:
f = open(path, modo)
Nessa sintaxe o parâmetro path especifica o caminho/diretório onde o arquivo será criado e o nome do arquivo.
Para criar um novo arquivo, utilize um dos seguintes modos:
‘w’ — Caso o arquivo não exista, um arquivo novo será criado. Caso contrário, o contéudo do arquivo antigo será sobrescrito. Ou seja, CUIDADO!
‘x’ — abre um arquivo para escrita, mas não sobrescreve caso já exista um arquivo com o mesmo nome. Esse modo lança uma exceção FileExistsError caso já exista um arquivo com o nome solicitado.
O trecho acima cria um arquivo chamado primeiro_teste.txt e com o conteúdo de texto: “primeiro arquivo criado”. Para adicionar conteúdo no arquivo utilize o método write.
Novo arquivo criado e o seu conteúdo
Utilizando o modo x (exclusive), criamos um arquivo da mesma maneira que o modo w (write):
A diferença é que em uma segunda execução do mesmo código, ocorria um erro como na imagem abaixo. Esse modo(x) não permite sobrescrever um arquivo quando ele já existe. Caso estivéssemos utilizando o modo ‘w’, o arquivo anterior seria sobrescrito.
Criando subdiretórios ou pastas para organizar os arquivos
Para criar pastas, precisamos utilizar a biblioteca ‘os’ e o método mkdir.
Há a necessidade de passar todo o caminho da nova pasta.
Criar novas pastas ou subdiretórios é sempre necessário para organizar os arquivos gerados:
Pasta "arquivos" criada
Para criar arquivos dentro da pasta ‘arquivos’ precisamos passar o endereço completo para a função open. No exemplo abaixo criamos um arquivo com o nome arquivo1.txt, depois sobrescrevemos o seu conteúdo. Ao tentar criar o arquivo pela terceira vez já com o modo ‘x’ (exclusive), obteremos o erro FileExistsError. Por isso tome muito cuidado ao utilizar o modo ‘w’ repetidamente, correrá o risco de sobrescrever o conteúdo dos arquivos e perder informações.
Você pode adicionar a quantidade de dados que precisar em um arquivo, basta usar várias vezes o método write, no exemplo abaixo gravamos 5 linhas no arquivo1.txt .
Lendo arquivos
Para ler um arquivo texto em utilizando python precisamos seguir as etapas:
1 -abrimos o arquivo texto para leitura utilizando a função open().
2- utilizamos os métodos read(), readline() ou readlines().
3- fechamos o arquivo utilizando o método close().
Existem basicamente 3 métodos de ler o conteúdo de arquivos de texto:
read() — lê todo o texto de um arquivo para uma string. Esse método é útil se você tiver um arquivo pequeno e deseja manipular o texto todo desse arquivo.
readline() — lê o arquivo de texto linha por linha e retorna o conteúdo da linha como string.
readlines() — lê todas as linhas do arquivo de texto e retorna como uma lista de strings.
O método read já conhecemos. No exemplo abaixo temos o readlines( ), onde todas as linhas são salvas em uma lista de strings. Cada elemento da lista armazena uma linha do arquivo.
Lista de strings com o conteúdo do arquivo:
Já o método readline( ) lê uma linha por vez. Sendo necessário executá-lo várias vezes para consumir todo o conteúdo do arquivo.