小编use*_*186的帖子

在Python中解压缩.bz2文件

所以,这是一个看似简单的问题,但我显然非常沉闷.我有一个小脚本从网页下载所有的.bz2文件,但由于某种原因,该文件的解压缩让我头疼.

我是一个Python新手,所以答案可能很明显,请帮助我.

在脚本的这一部分,我已经有了这个文件,我只是想把它读出来变量,然后解压缩?是对的吗?我已经尝试了各种方法来做到这一点,我通常在这个片段的最后一行得到"ValueError:找不到流的结尾"错误.我试图打开zipfile并以无数种方式将其写入字符串.这是最新的.

openZip = open(zipFile, "r")
s = ''
while True:
    newLine = openZip.readline()
    if(len(newLine)==0):
       break
    s+=newLine
    print s                   
    uncompressedData = bz2.decompress(s)
Run Code Online (Sandbox Code Playgroud)

嗨Alex,我应该列出我尝试过的所有其他方法,因为我尝试过read()方式.

方法A:

print 'decompressing ' + filename

fileHandle = open(zipFile)
uncompressedData = ''

while True:            
    s = fileHandle.read(1024)
    if not s:
        break
        print('RAW "%s"', s)
        uncompressedData += bz2.decompress(s)

        uncompressedData += bz2.flush()

        newFile = open(steamTF2mapdir + filename.split(".bz2")[0],"w")
        newFile.write(uncompressedData)
        newFile.close()   
Run Code Online (Sandbox Code Playgroud)

我收到错误:

uncompressedData += bz2.decompress(s)
ValueError: couldn't find end of stream
Run Code Online (Sandbox Code Playgroud)

方法B.

zipFile = steamTF2mapdir + filename
print 'decompressing ' …
Run Code Online (Sandbox Code Playgroud)

python compression

6
推荐指数
3
解决办法
1万
查看次数

标签 统计

compression ×1

python ×1