ValueError: not enough values to unpack (expected 2, got 1)
File "D:\11.py", line 141, in decode
key, value = line.strip().split('=')
改了错错了再改,能帮忙看看这又要咋解决嘞
def encode(self):
# 读取文章
with open(self.filepath_entry.get(), 'r') as f:
article = f.read()
# 统计字符出现次数,构造编码表,并对文章进行编码
char_count = count_character(article)
encoding_table = build_encoding_table(char_count)
encoded_data = encode_article(article, encoding_table)
# 将编码表和编码结果保存到文件中
with open(self.char_count_path.get(), 'w') as f:
for key, value in char_count.items():
f.write(str(key) + ',' + str(value) + '\n')
with open(self.encoding_table_path.get(), 'w') as f:
for key, value in encoding_table.items():
f.write(str(key) + ',' + str(value) + '\n')
with open(self.encoded_data_path.get(), 'w') as f:
for code in encoded_data:
f.write(str(code) + ',')
tk.messagebox.showinfo('LZW编码器', '编码完成。')
def decode(self):
# 从编码文件中读取编码表和编码结果,并使用词典解码得到原文章
with open(self.encoding_table_path.get(), 'r') as f:
encoding_table = {}
for line in f.readlines():
key, value = line.strip().split('=')
encoding_table[key] = int(value)
decoding_table = {v: k for k, v in encoding_table.items()}
with open(self.encoded_data_path.get(), 'r') as f:
encoded_data = list(map(int, f.read().split(',')[:-1]))
decoded_article = decode_article(encoded_data, decoding_table)