Olá. No post de hoje vamos falar sobre como ler informações de um arquivo usando Python. Vamos trabalhar em um exemplo que contará a quantidade de linhas, palavras e caracteres presentes em um arquivo.
No primeiro exemplo, vamos trabalhar a extração de informações utilizando um laço while. Temos:
filename = raw_input('Digite o nome do arquivo: ')
source = file(filename)
numLines = numWords = numChars = 0
line = source.readline() #para ler a primeira linha do arquivo
while line: #enquanto houver linhas para leitura, incrementamos nossos contadores
numChars += len(line) #len() retorna o tamanho do array ou lista
numWords += len(line.split()) #vimos que o método split() "quebra" a string separando por " "
numLines += 1
#após finalizar a leitura da linha, leia a próxima
line = source.readline()
print numLines, numWords, numChars
source.close() #fecha o arquivo aberto
Agora, temos o mesmo programa escrito com um laço for:
filename = raw_input('Digite o nome do arquivo: ')
source = file(filename)
numLines = numWords = numChars = 0
line = source.readline() #para ler a primeira linha do arquivo
for line in source: #enquanto houver linhas para leitura, incrementamos nossos contadores
numChars += len(line) #len() retorna o tamanho do array ou lista
numWords += len(line.split()) #vimos que o método split() "quebra" a string separando por " "
numLines += 1
print numLines, numWords, numChars
source.close() #fecha o arquivo aberto
Utilizando o laço for ao invés do while, temos um programa mais eficiente, pois não é necessário chamar, a cada linha, o método readline(). Isto porque o aquivo foi armazenado em source e a estrutura do for permite que você "leia" para cada linha em source.
Podemos deixar nosso programa mais interessante se trabalharmos com o comando Try - Except, que vimos em nosso post Python - Erros e Tratamento de Exceções, para verificar se o arquivo que queremos abrir realmente existe.
Um abraço e até o próximo post!
quarta-feira, 28 de agosto de 2013
Assinar:
Postar comentários (Atom)
0 comentários:
Postar um comentário