示例#1
0
def main(file, file_com_rl, file_dec_rl):

    print '\033[94m' + "\n\nRun Length Encoding" + '\033[0m'

    print "Codifica"
    now = time.time()
    #compressione del file
    erle = rle()
    erle.encode(file, file_com_rl)
    print "\t" + str('%.5f' % (time.time() - now)) + "\tseconds"
    all.dim(file_com_rl)
    all.perc_comp(file,file_com_rl)

    print "Decodifica"
    now = time.time()
    #decompressione del file
    drle = rle()
    drle.decode(file_com_rl, file_dec_rl)
    print "\t" + str('%.5f' % (time.time() - now)) + "\tseconds"
    all.dim(file_dec_rl)

    all.check(file,file_dec_rl)
示例#2
0
def main(file, file_com_huf, file_dec_huf, language=""): #language e' "" se calcolo frequenze io, "qualcosa" se uso le statistiche

    if language=="":
        print '\033[94m' + "\n\nHuffman con calcolo delle frequenze" + '\033[0m'
    else:
        print '\033[94m' + "\n\nHuffman con uso di statistiche" + '\033[0m'

    print "Codifica"
    now = time.time()
    #compressione del file
    Huff(file, file_com_huf, language)
    print "\t" + str('%.5f' % (time.time() - now)) + "\tseconds"
    all.dim(file_com_huf)
    all.perc_comp(file,file_com_huf)

    print "Decodifica"
    now = time.time()
    #decompressione del file
    Unhuff(file_com_huf, file_dec_huf, language)
    print "\t" + str('%.5f' % (time.time() - now)) + "\tseconds"
    all.dim(file_dec_huf)

    all.check(file,file_dec_huf)
示例#3
0
    language = raw_input("Scegli una lingua (ita/eng): ")

    #preparo nomi dei file
    file_split = file.split(".")
    file_name = file_split[0]
    #huffman statico con frequenze calcolate ad hoc
    file_com_hf = file_name + "_com_hf.txt"
    file_dec_hf = file_name + "_dec_hf.txt"
    #huffman statico con utilizzo di statistiche fisse
    file_com_hs = file_name + "_com_hs.txt"
    file_dec_hs = file_name + "_dec_hs.txt"
    #run length encoding
    file_com_rl = file_name + "_com_rl.txt"
    file_dec_rl = file_name + "_dec_rl.txt"

    #entro nella cartella
    os.chdir(file_name)

    #utility che conta il numero dei caratteri
    print "\nFile originale"
    all.dim(file)

    #faccio partire huffman con calcolo frequenze
    huf.main(file, file_com_hf, file_dec_hf) #non specifico language -> calcolo frequenze

    #faccio partire huffman usanto statistiche fisse
    huf.main(file, file_com_hs, file_dec_hs, language) #specifico language -> statistiche fisse

    #faccio partire rle
    rle.main(file, file_com_rl, file_dec_rl)