我在python 2.7上做了一个脚本,用于使用zlib解压缩文件。 我已经在Linux上使用它并且它正在工作,但是当我尝试在Windows上运行它时会出现以下错误:
解压缩数据时出错-5:不完整或截断的流。
我正在使用此代码:
localhost:9983
此外,我还尝试了其他代码:
datosComprimidos = open(archivo).read()
datosDescomprimidos = zlib.decompress(datosComprimidos)
但在这种情况下,它没有在datosDescomprimidos上写任何内容。
任何人都知道一些事情吗? 感谢
答案 0 :(得分:-1)
datosComprimidos = open(archivo).read()
以 text 模式返回打开的数据。您需要以二进制模式读取它:
datosComprimidos = open(archivo,"rb").read()
在Linux上无关紧要,但它在Windows中很重要,因为所有10
值前面都有13
值,它会破坏数据(在LF之前添加CR为windows符合文本不适用于二进制流!)
作为奖励,您的代码现在符合python 3标准。
请注意,在with
块中使用它会更加pythonic:
with open(archivo,"rb") as f:
datosComprimidos = f.read()
所以我们控制文件何时关闭(退出块时)