解压bz2文件

新手上路,请多包涵

我想解压不同路径下不同目录中的文件。代码如下,错误是无效数据流。请帮帮我。太感谢了。

 import sys
import os
import bz2
from bz2 import decompress

path = "Dir"
for(dirpath,dirnames,files)in os.walk(path):
   for file in files:
       filepath = os.path.join(dirpath,filename)
       newfile = bz2.decompress(file)
       newfilepath = os.path.join(dirpath,newfile)

原文由 MY_1129 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 346
1 个回答

bz2.decompress 获取压缩 数据 并将其膨胀。您传递的是文件名,而不是文件中的数据!

改为这样做:

 zipfile = bz2.BZ2File(filepath) # open the file
data = zipfile.read() # get the decompressed data
newfilepath = filepath[:-4] # assuming the filepath ends with .bz2
open(newfilepath, 'wb').write(data) # write a uncompressed file

原文由 Jochen Ritzel 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题