Desenvolvimento Python

Manipulando arquivos com Python

Saber trabalhar com arquivos é essencial para qualquer desenvolvedor e é certo que em sua vida como desenvolvedor, em algum momento você terá que lidar com esta situação. Por isso, veremos neste artigo como manipular arquivos com Python.

há 4 anos 3 semanas

Formação Desenvolvedor Python
Conheça a formação em detalhes

É de grande importância para qualquer desenvolvedor saber manipular arquivos, seja para criar backups, consumir uma lista de alguma planilha ou qualquer motivo que seja. Por isso, a maioria das linguagens de programação possuem meios para essa manipulação.

No Python não é diferente e a manipulação de arquivos é mais simples do que você possa imaginar. Por isso, veremos neste artigo como realizar as principais operações com arquivos utilizando o Python.

Criando e abrindo arquivos

Para criar arquivos (e, consequentemente, abrí-los), utilizamos o método open(). Este método irá abrir o arquivo que passarmos como parâmetro com um determinado modo de uso (que também será passado como parâmetro).

Há diversos modos de uso, como podemos ver na imagem abaixo:

Estes modos são passados como segundo parâmetro do método open. Ou seja, se quisermos abrir um arquivo em modo de escrita, utilizamos a seguinte sintaxe:

arquivo = open("contatos.txt", "a")

Passamos o nome do arquivo e sua extensão, além do modo que queremos utilizar o arquivo. Este modo pode ser alterado conforme as opções da imagem anterior.

Sendo assim, ao executar o código acima, o arquivo contatos.txt será aberto em modo escrita (caso ele não exista, um novo arquivo será criado):

Escrevendo dados em arquivos

Agora que já sabemos como criar arquivos e seus diferentes modos de uso, podemos realizar as primeiras manipulações. Neste tópico, veremos como escrever dados e salvar em arquivo utilizando o Python.

Para isso, a linguagem fornece dois métodos. O primeiro é o método write() que recebe uma string como parâmetro e a insere no arquivo:

arquivo = open("contatos.txt", "a")
arquivo.write("Olá, mundo!")

Com a execução do código acima, a string Olá, mundo! será inserida no arquivo texto.txt:

O segundo método é o writelines() que recebe um objeto iterável (seja uma lista, uma tupla, um dicionário, etc). Com este método, várias linhas poderão ser inseridas no arquivo, diferente do método write() que só recebe uma string por vez:

arquivo = open("texto.txt", "a")

frases = list()
frases.append("TreinaWeb \n")
frases.append("Python \n")
frases.append("Arquivos \n")
frases.append("Django \n")

arquivo.writelines(frases)

Como a lista é um objeto iterável, podemos passá-la como parâmetro do método writelines(). Utilizamos, também, o \n para saltar a linha ao escrevê-la no arquivo. Com isso, o resultado será o seguinte:

Desenvolvedor Python
Formação Desenvolvedor Python
Conhecer a formação

Lendo dados de arquivos

Além de escrever dados em arquivos, precisamos, também, saber ler os dados que os arquivos possuem. Para isso, existem dois métodos, o primeiro é o readline() que irá ler uma quantidade N de caracteres da primeira linha passadas como parâmetro:

arquivo = open("texto.txt", "r")

print(arquivo.readline(3))

A execução acima retornará os três primeiros caracteres da primeira linha do arquivo:

O segundo método disponível é o readlines(). Este método irá retornar todas as linhas do arquivo:

arquivo = open("texto.txt", "r")

print(arquivo.readlines())

Considerações finais

Saber trabalhar com arquivos é essencial para qualquer desenvolvedor. É certo que em sua vida como desenvolvedor, em algum momento você terá que lidar com esta situação.

Como vimos neste artigo, a manipulação de arquivos com Python é uma tarefa bem simples, porém de grande importância.

Autor(a) do artigo

Fagner Pinheiro
Fagner Pinheiro

Professor na TreinaWeb e graduado em Sistemas de Informação pelo Instituto Federal da Bahia. Apaixonado por desenvolvimento web, desktop e mobile desde os 12 anos de idade. Já utilizou todos os sistemas operacionais possíveis, mas hoje se contenta com o OSX instalado em seu desktop. Quando não está trabalhando, é IGL e Awper do time de CS:GO da Treinaweb. Até passou em uma peneira do Cruzeiro, mas preferiu estudar Python.

Todos os artigos

Artigos relacionados Ver todos