Calculador de Frequência
Publicado por Sander Santos Salazar 16/07/2009
[ Hits: 8.531 ]
Download calculadorDeFrequencia.py
Este programa calcula quantas vezes cada linha se repete em um arquivo de texto e escreve o resultado em uma tabela HTML.
Este programa me economizou horas de trabalho =).
É meu primeiro programa de verdade, espero que gostem e mandem sugestões!!!!!=D
#!/usr/bin/python
#
# -*- coding: utf-8 -*-
#
# frequencyCalculator.py
#
from optparse import OptionParser
def calculateFrequency(inFile,toSort):
"""
Determina quantas vezes cada linha em um arquivo de texto repete-se.
"""
frequency = {} # O uso de dicionario facilita muito mais esta função
input = open(inFile,"r")
for line in input:
if (line in frequency):
frequency[line] += 1
else:
frequency[line] = 1
input.close()
frequency = frequency.items()
if (toSort):
frequency.sort() # Ordena alfabéticamente as linhas
return frequency
def printFrequency(outFile,frequency):
"""
Escreve um arquivo HTML com uma tabela com 2 colunas:
* A primeira com a linha do texto;
* A segunda com a quantidade de vezes que cada linha se repetiu.
"""
output = open(str(outFile),"w")
output.write("<html>\n\t<head>\n\t\t")
output.write("<title>\n\t\t ..::Frequencia::.. \n\t\t</title>")
output.write("\n\t</head>\n\t<body>")
output.write("\n\t\t<table border=1>\n")
for exitValue in frequency:
output.write("\t\t\t<tr>\n\t\t\t\t<td> {0} </td>".format(exitValue[0][:-1]))
output.write("\n\t\t\t\t<td> {0} </td>\n\t\t\t</tr>\n".format(exitValue[1]))
output.write("\n\t\t</table>\n")
output.write("\t</body>\n<html>")
output.close()
return 0
def main():
"""
Determina os argumentos passados para o programa.
"""
usage = "usage: %prog [options] -o OUTFILE -i INFILE"
parser = OptionParser(usage = usage)
parser.add_option("-s", "--sort" , action="store_true",dest="toSort", help="Ativa a ordenacao alfabetica.")
parser.add_option("-o", "--output", default="",dest="outFile", help="Arquivo HTML onde sera impresso a frequencia.")
parser.add_option("-i", "--input" , default="",dest="inFile" , help="Arquivo de texto onde sera impresso a frequencia.")
(options, args) = parser.parse_args()
if (options.outFile != "") and (options.inFile !=""):
frequency = calculateFrequency(options.inFile, options.toSort)
printFrequency(options.outFile,frequency)
elif (options.outFile == "") and (options.inFile ==""):
parser.print_help()
elif (options.outFile == ""):
parser.error("Não foi expresso o arquivo de saída.")
elif (options.inFile == ""):
parser.error("Não foi expresso o arquivo de entrada.")
return 0
if __name__ == '__main__': main()
Agenda de cadastros com tratamento de erros
Criando um rootfs para sistemas embarcados a partir de cópia de um sistema já operando
Serialização em Python usando pickle
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









