[go: up one dir, main page]

0% acharam este documento útil (0 voto)
229 visualizações2 páginas

Manipulação de Ficheiros em Python

O documento descreve as principais operações que um programa Python pode executar para utilizar ficheiros de dados formatados como texto, incluindo abrir um ficheiro para criar um objeto que permita aceder aos dados, ler dados do ficheiro usando métodos como read(), readline() e readlines(), e fechar o ficheiro para libertar recursos.

Enviado por

Vítor Sá
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
229 visualizações2 páginas

Manipulação de Ficheiros em Python

O documento descreve as principais operações que um programa Python pode executar para utilizar ficheiros de dados formatados como texto, incluindo abrir um ficheiro para criar um objeto que permita aceder aos dados, ler dados do ficheiro usando métodos como read(), readline() e readlines(), e fechar o ficheiro para libertar recursos.

Enviado por

Vítor Sá
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 2

Ficheiros de dados (em formato texto)

À semelhança da maioria das linguagens de programação, o Python permite criar e usar ficheiros de dados
formatados como carateres. Isto significa que o conteúdo destes ficheiros é do tipo texto e, portanto, pode
ser visualizado em qualquer ferramenta que trabalhe com ficheiros de texto, por exemplo, o bloco de notas
do Windows, ou um editor de texto usado na programação (como o do Matlab, ou o do Spyder).

Como sabemos, os ficheiros são entidades que existem em memória secundária (os discos rígidos, ou os
SSD, por exemplo). Como também sabemos, os programas apenas conseguem aceder diretamente à
informação que esteja em objetos (variáveis, por exemplo) na memória principal (a RAM). Portanto, para
que os programas consigam aceder à informação guardada no disco é necessário copia-la previamente para
objetos que estejam na RAM.

As operações que um programa pode executar para utilizar um ficheiro são:

 abrir o ficheiro – cria um objeto na RAM que contém toda a informação acerca do ficheiro (por
exemplo: o nome do ficheiro e a sua localização no disco) que permita ao programa comunicar com
o sistema operativo para aceder ao ficheiro. Para isso, usamos a função open(). Exemplo:

fichalu = open("dados_alunos")

Esta operação criou um file object com o nome fichalu, que irá pemitir ao programa aceder ao
ficheiro que, no disco, tem o nome dados_alunos. Após a abertura do ficheiro, o programa passa a
usar apenas o objeto fichalu sempre que for necessário aceder ao ficheiro.

 fechar o ficheiro – elimina o file object que foi criado ao abrir o ficheiro, fazendo com que o
programa deixe de poder aceder ao ficheiro. Para isso, invoca-se o método close() desse file object.
Exemplo:

fichalu.close()

O programador coloca uma instrução no programa, para fechar o ficheiro, quando o programa já não
vai precisar mais de aceder ao ficheiro. Esta operação é importante para libertar o espaço de
memória que estava ocupado pelo file object.

 ler dados do ficheiro – depois de aberto o ficheiro, podemos ler os dados nele contidos invocando
um método para leitura do file object que representa o ficheiro. Exemplo:

fichalu.read()

Este exemplo usou o método read(), que retorna a totalidade do conteúdo do o ficheiro numa
string.

Mas se o ficheiro for muito grande, ler todo o seu conteúdo para uma string pode esgotar a memória
que o sistema operativo reservou para o programa. Para evitar esse problema podemos especificar
quantos carateres queremos que sejam lidos. Exemplo:

fichalu.read(30)
Neste exemplo a string retornada pelo método read() já conterá apenas 30 carateres.

Também é frequente usar-se o método que permite ler uma linha de cada vez. Exemplo:

fichalu.readline()

Esta operação retorna uma string contendo uma linha do ficheiro, terminada com um carater de
fim-de-linha (\n).

Para além dos métodos read() e readline() existe também o método readlines(). Este método
retorna uma lista de strings. Estas strings são equivalentes às que seriam obtidas lendo todo o
ficheiro com invocações sucessivas do método readline().

Sempre que é executada uma operação de leitura dum ficheiro, o seu file object não se esquece de
qual é o próximo caráter a ler numa próxima operação de leitura. Pode verificar isso executando
várias operações de leitura consecutivas. Experimente:

fichalu.read(5)
fichalu.read(5)
fichalu.read(5)

Pode saber qual é o número do próximo caráter a ser lido usando o método tell(). Experimente:

fichalu.tell()

Depois de já ter sido lido todo o conteúdo dum ficheiro, a execução de outra operação de leitura
(com qualquer destes métodos) retorna a string vazia ("").

Pode posicionar o cursor do file object num dado caráter, usando o método seek(). Experimente:

fichalu.seek(10)
fichalu.read(5)

Se pretender voltar a ler a partir do início do ficheiro, pode usar seek(0). Alternativamente, pode
fecar o ficheiro e voltar a abri-lo.

Você também pode gostar