def init(self):
     _func_edit = Function.Edit()
     filepaths = _func_edit.open_files()
     if filepaths:
         file_dic = {
             filepaths[i]: open(filepaths[i], 'r').read()
             for i in range(len(filepaths))
         }
         print(time.strftime("%M%S"))
         text = ''
         # 把选的文章放在一个text里
         for i in file_dic:
             text += file_dic[i]
         _func_cal = Function.Calculate()
         text = Function.strip_html(text)
         list_sorted = _func_cal.frequency_to_str(
             text, ' ')  # 没有用kmp是因为不需要得到每个值的具体位置,只需要加1即可,所以kmp更麻烦
         _translate = QtCore.QCoreApplication.translate
         for i in range(0, 19):
             item = self.tableWidget_Freq.item(
                 i, 0)  # 需要在设计ui时初始化每个item的值,要不然就报错不知道为啥_(:з」∠)_
             item.setText(_translate("Dialog", str(list_sorted[i][0])))
             item = self.tableWidget_Freq.item(i, 1)
             item.setText(_translate("Dialog", str(list_sorted[i][1])))
         self.textBrowser.setText(str(list_sorted))
         print(time.strftime("%M%S"))
 def encoding(self, text):
     print('EncodingForm >>>>> encoding')
     _func_cal = Function.Calculate()
     list_sorted = _func_cal.frequency_to_char(text)
     nodes = Function.createNodes([item[1] for item in list_sorted])
     root = Function.createHuffmanTree(nodes)
     huff_code = Function.huffmanEncoding(nodes, root)
     self.tableWidget.setRowCount(len(list_sorted))
     for i in range(len(list_sorted)):
         self.tableWidget.setItem(i, 0,
                                  QTableWidgetItem(str(list_sorted[i][0])))
         self.tableWidget.setItem(i, 1,
                                  QTableWidgetItem(str(list_sorted[i][1])))
         self.tableWidget.setItem(i, 2, QTableWidgetItem(str(huff_code[i])))
     textcode = ''
     for word in text:
         for i in range(len(list_sorted)):
             if word == list_sorted[i][0]:
                 textcode += str(huff_code[i])
     self.textEdit.setText(textcode)
     print('EncodingForm <<<<< encoding')