我正在寻找此错误的解决方案,并且我检查了其他类似的问题,但找不到答案。我正在尝试实现Lempel-Ziv-1978数据压缩算法,并且我的解压缩函数存在以下错误:
def解压缩器(stringAdecompresser):
from io import StringIO
# creer la dictionnaire
size = 256
dictionnaire = {chr(i): i for i in range(size)}
resultat = StringIO()
w = chr(stringAdecompresser.pop(0))
resultat.write(w)
for k in stringAdecompresser:
if k in dictionnaire:
entree = dictionnaire[k]
else: # k == size:
entree = w + w[0]
resultat.write(entree)
#ajouter dans la dictionnaire
dictionnaire[size] = w + entree[0]
size += 1
w = entree
return resultat.StringIO()
我得到:文件“ lz78.py”,第52行,在解压缩器中 返回resultat.StringIO()AttributeError:“ _ io.StringIO”对象没有属性“ StringIO”
Python版本:3.6
您的resultat
已经是StringIO
。要么返回,要么按照@mechanical_meat在他的评论中建议的方式[resultat.getvalue()
。