解压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 许可协议

阅读 349
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 许可协议

推荐问题