Escolar Documentos
Profissional Documentos
Cultura Documentos
Programação
Informática Web
João Cordeiro
jpcc@ubi.pt
Sumário
O conceito de ficheiro como unidade de armazenamento de informação.
Ficheiros binários e ficheiros de texto. Manipulação de ficheiros de texto na
programação. Exemplos e exercícios com estruturas homogéneas e ficheiros
de texto.
Ficheiro
Uma ficheiro é uma entidade que representa um agregado de informação
binária (ficheiro binário) que se encontra armazenada num suporte não
volátil.
Ficheiro de Texto
É um ficheiro binário com informação textual, representada nalguma codifi-
cação padrão, e.g., ASCII, UTF-8, ISO-8859-1, ...
Ficheiro de Texto
É um ficheiro binário com informação textual, representada nalguma codifi-
cação padrão, e.g., ASCII, UTF-8, ISO-8859-1, ...
Alguns exemplos:
1 f = open ( " texto . txt " , " r " )
2 f = open ( " texto . txt " , " r " , " utf8 " )
3 f = open ( " texto . txt " , " r " , encoding = " utf8 " )
Alguns exemplos:
1 f = open ( " texto . txt " , " r " )
2 f = open ( " texto . txt " , " r " , " utf8 " )
3 f = open ( " texto . txt " , " r " , encoding = " utf8 " )
4
5 f = open ( " / Users / jpc / texto . txt " , " r " )
6 # Apaga o ficheiro se j á existir :
7 f = open ( " / Users / jpc / dados . txt " , " w " )
8 # N ã o apaga mas acrescenta :
9 f = open ( " / Users / jpc / dados . txt " , " a " )
Exemplo:
1 f = open ( " texto . txt " , " r " )
Exemplo:
1 f = open ( " texto . txt " , " r " )
Vamos supor que temos um ficheiro com uma noticia, cujo caminho é o
seguinte: /Users/jpc/Desktop/noticia.txt:
[’ESA reúne-se em Matosinhos para definir uma resposta a \n’, ’alterações climáticas e lixo espacial.\n’,
’\n’, ’A Agência Espacial Europeia (ESA) vai reunir-se na próxima \n’, ’sexta-feira, em Matosinhos
os seus 22 Estados-membros para definir \n’, ’estratégias de resposta às alterações climáticas, às
catástrofes\n’, ’naturais e ao lixo espacial. A ESA recomenda ainda a construção de \n’, ’constelações de
satélites baseados em tecnologias mais avançadas,\n’, ’como a tecnologia quântica.\n’].
Em muitos casos queremos ler linha a linha até chegar ao fim do ficheiro.
Nesse caso sabemos que chegámos ao fim quando readline() devolver a
string vazia "". Uma versão muito simplificada da anterior é a seguinte:
1 i = 1
2 for s in open ( " / Users / jpc / Desktop / noticia . txt " , " r " ) :
3 print ( " %3 d % s " % (i , s . strip () ) )
4 i = i +1
Ficando com:
Universidade da Beira Interior | Serra da Estrela | Covilhã