Calculador de Frequência
Publicado por Sander Santos Salazar 16/07/2009
[ Hits: 8.640 ]
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()
Manipulando arquivos com Pickle
Nenhum comentário foi encontrado.
XFCE - quase um Gnome ou Plasma mas muito mais leve
LXQT - funcional para máquinas pererecas e usuários menos exigentes
Instalação do K3s Single-Node com Rancher no Ubuntu 24.04
Usei o NotebookLM para Auditar Logs do Linux
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
Samba 4 AD-DC 2026: Como instalar e configurar um Active Directory (via APT-GET)
[Resolvido] Sumiço de redes e micro quedas no iwd/iwgtk (Realtek rtw88)
Como Configurar DNS Reverso (PTR) em Ambientes Linux e Microsoft
Preparando o Ambiente para Administrar o Samba 4 a partir do Windows com RSAT
Problema ao instalar Linux Mint. (1)
Midia de instalação LM-21.3 não inicializa (11)
A diferença entre a fala de um Samuel e a fala de alguém que conhece o... (9)









