FormatError:不是7z文件

时间:2014-02-26 14:18:28

标签: python-3.x

with open (sourcefile,'rb') as i:
    with open (targetfile,'wb') as o:
        i.seek(0)
        s = py7zlib.Archive7z(i)
        while True:
            tmp = s.read(65536)
            if tmp :
                o.write(tmp)
                continue
            else:
                break

我收到错误FormatError:不是7z文件 s = py7zlib.Archive7z(i)

当我在运行于Windows 7的python 3.3中使用pylzma压缩文件时。

我尝试压缩的文件是XML文件

即使这不起作用

with open (sourcefile,'rb') as i:
    with open (targetfile,'wb') as o:
        i.seek(0)
        s = py7zlib.Archive7z(o)
        while True:
            tmp = s.read(65536)
            if tmp:
                o.write(tmp)
                continue
            else:
                break

UnsupportedOperation:阅读 引发FormatError('不是7z文件')

1 个答案:

答案 0 :(得分:0)

您正在XML文件上构建Archive7z,而不是目标文件。

更正您的代码:将i替换为o中的s = py7zlib.Archive7z(i),将s替换为i中的tmp = s.read(65536)