Beispiel #1
0
def main():
    while (1):
        print("1.Compress\n2.Decompress\n3.Exit")
        choice = int(input("Enter Choice :"))
        if choice == 1:
            fileName = input("Enter file Name: ")
            print("Encoding : ", fileName)
            frequencyObject = Frequency(fileName)
            frequencyTable = frequencyObject.frequencyTable()

            huffmanObject = Huffman(frequencyTable)
            huffmanCodes = huffmanObject.huffman()

            encodeObject = Encode(huffmanCodes, fileName)
            encodeObject.encode()

            print("File Encoded as:" + fileName + ".bv\n\n")

        elif choice == 2:
            fileName = input("Enter file Name: ")
            print("decoding : ", fileName)
            decodeObject = Decode(fileName)
            decodeObject.decode()
            print("\nDecoded as " + fileName + "_new.txt")

        elif choice == 3:
            print("Bye\n")
            return
        else:
            print("Invalid Choice\n")
 def __init__(self, N):
     self.frequency = Frequency()
     self.noOfDocs = N
Beispiel #3
0
# -*- coding:utf-8 -*-

__author__ = 'Kusamura'

from Data import Data
from InvertedIndex import InvertedIndex
from Search import Search
from Frequency import Frequency

if __name__ == '__main__':
    fileList = []  #章の一覧
    for line in open('chaps/chap_title.tsv', 'r'):  #chaps_titleから章の一覧を生成
        fileList.append(line[:-1].split('\t')[0][2:])
    dataList = []  #Dataクラス(ファイルから読み込んだデータ)のリスト
    for fileName in fileList:
        dataList.append(Data(fileName))

    index = InvertedIndex(dataList)  #転置インデックスを作成

    #	module = Search(index) #検索モジュール
    #	keys = ['retrieval', 'half-a-trillion', 'thus', 'layer', 'test', 'hoge', 'hogehoge']
    #	for key in keys:
    #		module.do(key)

    #	print index.countKeys() #辞書内の語数をカウント

    #	print Frequency().docFrequency(index) #辞書頻度

    print Frequency().termFrequency(dataList)  #単語頻度