Calculador de Frequência
Publicado por Sander Santos Salazar 16/07/2009
[ Hits: 8.441 ]
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
ShellCrypTor criptografador de dados
Nenhum coment�rio foi encontrado.
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Problema com impressoras de rede (0)
Ajuda com o Debian 13 - Video hibrido geforce 940 mx Wayland OFF (1)