Aprendendo a programar em Python – Parte 3

Para quem está aprendendo a programar em Python ou qualquer outra linguagem, trabalhar com aquivos abre um leque de possibilidades muito grande. Nesse post, abordarei como tratar arquivos. Abrir, ler e gravar arquivos. E essa é uma tarefa bastante fácil no Python, sendo que com três linhas, como veremos abaixo, já é possível ler todo o conteúdo de um arquivo.

Abrindo arquivo para escrita

Abaixo um código simples para abrirmos um arquivo de texto e escrever nele.

arquivo = open("C:\\teste.txt","w")
arquivo.write("Texto arquivo")
arquivo.close()

Na primeira linha, estamos criando um objeto do tipo file, armazenado na variável arquivo. Na criação já estamos colocando o nome do arquivo que vamos trabalhar e no segundo parâmetros, indicamos com o w que usaremos o arquivo para escrita (write).

Na segunda linha temos o texto que vai ser escrito no arquivo, e para isso usamos o método write() que recebe uma string.

Por último, fechamos o arquivo. Com o método close(), estamos informando que terminamos de usar o arquivo e que ele deve ser salvo.

Outra forma para escrita

Ao abrir o arquivo no exemplo anterior, informamos que ele seria usado para escrita, passando como segundo parâmetro o w, neste caso, se o arquivo já existisse, o conteúdo deste seria substituído. Bom, e se quisermos adicionar conteúdo a um arquivo já existente?

Nesse caso, utilizamos como segundo parâmetro o a de append (anexar).

arquivo = open("C:\\teste.txt","a") 
arquivo.write("\nAcrescentando texto ao arquivo") 
arquivo.close()

Perceba que as únicas diferenças entre o exemplo acima e o primeiro, é o segundo parâmetro no open e ao escrever no arquivo, adicionei um \n antes do texto. Isso é para acrescentar uma quebra de linha antes do texto.

Ao utilizar o parâmetro a no open(), caso o arquivo não exista, ele será criado.

Abrir arquivo para leitura

Tão simples como criar um arquivo no Python, é ler esse arquivo. Abaixo um exemplo e na sequencia a explicação do código.

arquivo = open("C:\\teste.txt","r") 
texto = arquivo.read() 
print(texto)

Na primeira linha, a única mudança foi a alteração do segundo parâmetro no open(). Dessa vez, utilizei a letra r (read) para indicar que o arquivo será aberto para leitura.

Na segunda linha, utilizo o método read() para ler todo o conteúdo do arquivo e guardar na variável texto.

Outra forma de ler o arquivo é utilizando o método readlines(), que retornar um array com todas as linha do arquivo, dessa forma, é possível tratar cada linha individualmente, se necessário. Veja no exemplo.

arquivo = open("C:\\teste.txt","r") 
texto = arquivo.readlines() 
print(texto) 
for linha in texto: 
    print(linha)

No Python, é possível, como pode ser visto na linha 3, exibir, por meio do print() o array que foi retornado por meio do readlines(). Ainda na exemplo acima, criei laço de repetição for*, e para cada linha do arquivo, eu também exibo o conteúdo da linha. *(estruturas de repetição na parte 4).

Então, dado um arquivo de texto abaixo:

Linha 1 
Linha 2 
Linha 3

ao executar o script Python do exemplo, teremos como retorno:

['Linha 1\n', 'Linha 2\n', 'Linha 3\n'] 
Linha 1 
 
Linha 2 
 
Linha 3

A primeira linha, mostra exatamente o array, e as linhas seguintes o conteúdo de cada linha. Existe uma quebra de linha a mais abaixo do conteúdo de cada linha, porque o método print() adiciona uma quebra além da que já é retornada do arquivo. Esse comportamento é normal.

Como ficou claro nesse post e é algo que estou percebendo enquanto estudo a respeito e algo que você vai perceber enquanto aprende a programar em Python, é que a linguagem preza pela pela simplicidade. Com algum conhecimento em inglês, fica claro que os métodos têm nomes óbvios, justamente para facilitar o desenvolvimento e tornar o código mais claro.

Esse post encerra por aqui. Na parte 4, mostrarei como funcionam as estruturas de repetição FOR e WHILE. 🙂

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.