如何使用zlib对列表进行编码?

2024-10-04 05:31:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我怎样才能将这些值编码到一个txt文件,而不会得到一个类型错误。我一直得到“缓冲区接口不支持列表”

import zlib
sentence = input("Enter the text you want to compress: ")
listSentence = sentence.split(" ")
d = {}
i = 0
values = []
for i, word in enumerate(sentence.split(" ")):
    if not word in d:
        d[word] = (i+1)
    values += [d[word]]
comv = zlib.compress(values.encode('utf-8'))
with open("listofwords.txt", "wb") as myfile:
myfile.write(comv)

这段代码为用户输入赋值,这就是它所做的一切。我需要将这些值压缩到一个.txt文件中。在


Tags: 文件intxt类型编码错误myfilecompress
1条回答
网友
1楼 · 发布于 2024-10-04 05:31:44

可以使用json将列表变成字符串。在

import json
comv = zlib.compress(json.dumps(values))

那你就可以把它洗干净了。 当然,当你打开它的时候,你需要使用json.loads()将其还原到列表。在

相关问题 更多 >