Olá, moçada eu postei essa questao e vi que ninguém conseguiui a resposta ....poes esta ai a solução da questao #!/usr/bin/env python # -*- coding: latin-1 -*- # # Autor: ANDRE LIMA # Função: WebMaster e Programador # Data: 10/03/2010 #funcao para verificar existencia de um arquivo def arquivoExiste(arq="lista.txt"): try: a = open(arq, "r") a.close() return True except: return False #leitura de arquivo def lerArquivo(arq="lista.txt"): try: a = open(arq, "r") conteudo = a.readlines() a.close() return conteudo except: print "Arquivo não encontrado" return False #Esta funcao separa o nome do usuario e o espaco que ele utilizou def nome_valor(conteudo): dic = {} for x in conteudo: str(x) a = x.split() b = a[0] c = int(a[1]) dic = c return dic #Recebe como parametro um dicionario (resultado da funcao nome_valor()) e soma seus valores def somarValores(dic): valores = dic.values() total = 0 i = 0 for x in valores: i = int(x)+i return i #Retorna as porcentagens def porcentagem(dic): valores = dic.values() entrada = dic.keys() porcent = [] for x in valores: if x > 2000: porcent.append("Ultrapassou espaco disponivel") else: i = x*100/2000 porcent.append(i) return porcent #Gera relatorio def geraRelatorio(dic,porcent, soma): entrada = dic.keys() valores = dic.values() i=0 arq = open("relatorio.txt", "w") arq.write("EJOVEM\t\t\tUso do espaco em disco pelos usuarios\n") arq.close() arq = open("relatorio.txt", "a") arq.write("----------------------------------------------------------------------------\n") arq.write("Nr.\tUsuario\t\tEspaco utilizado\t% do uso\n") for x in entrada: arq.write(str(i+1)+"\t") arq.write(x+"\t\t") arq.write(str(valores)+"\t\t\t") arq.write(str(porcent)+"\n") i = i+1 arq.write("Espaco total ocupado: %d MB" %(soma)) arq.close() arq = open("relatorio.txt", "r") texto = arq.read() return texto #Fluxo Principal if arquivoExiste(): conteudo = lerArquivo() dic = nome_valor(conteudo) soma = somarValores(dic) porcentag = porcentagem(dic) print geraRelatorio(dic, porcentag, soma) else: print "Arquivo inexistente"