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文件')
答案 0 :(得分:0)
您正在XML文件上构建Archive7z,而不是目标文件。
更正您的代码:将i
替换为o
中的s = py7zlib.Archive7z(i)
,将s
替换为i
中的tmp = s.read(65536)
。