gpt4 book ai didi

python - 无法使用普通存档管理器打开 bz2 压缩(使用 python)文件

转载 作者:行者123 更新时间:2023-11-28 22:01:12 30 4
gpt4 key购买 nike

我已经编写了一些代码来使用 BZ2 压缩器对象对文件进行 bz2 压缩:

def compressFile(file_name, new_name):      
comp = bz2.BZ2Compressor()
comFile = open(new_name, "wb")
oldFile = open(file_name, "rb")
while True:
data = oldFile.read(1024*1024)
if(len(data) == 0):
break
compressed = comp.compress(data)
comFile.write(compressed)
comp.flush()
comFile.close()

我没有收到错误并且文件已创建,但是当我想用存档管理器打开它时,我收到了一个非特定错误。我找不到我的错误,而且这个模块的文档也很少。

最佳答案

当您使用 BZ2Compressor 时,您会在调用 compress() 时以 block 的形式获取数据,很有可能只有在调用 flush()

如果您像这样更改函数,它应该可以工作:

def compressFile(file_name, new_name):      
comp = bz2.BZ2Compressor()
comFile = open(new_name, "wb")
oldFile = open(file_name, "rb")
while True:
data = oldFile.read(1024*1024)
if(len(data) == 0):
break
comFile.write(comp.compress(data))
comFile.write(comp.flush())
comFile.close()

关于python - 无法使用普通存档管理器打开 bz2 压缩(使用 python)文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13444864/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com