0
我正在构建一个压缩存档,其中包含一些数据,用于过滤目录中的文件。在制作zip压缩文件后,该文件将从目录中取出并删除。我一直在问一个CRC算法来检查归档,所以我用这个:一个压缩目录的CRC测试表明它已损坏,但我可以打开并阅读它
test=zf.testzip()
特试验失败,“测试”变量包含其中第一个必须由脚本过滤压缩文件。所以我假设其他人甚至都被破坏了。问题是我可以读取存档中的数据,通过提取存档完全复制它们,问题在哪里? 使档案中的代码如下:
import zipfile
import os
[...]
if dozip==True:
zf = zipfile.ZipFile(zipname, "w", comprez)
for dirname, subdirs, files in os.walk(dir):
for filename in files:
fl=filename.split("-")
fdate= datetime.datetime.strptime(fl[0], "%Y%m%d")
if start <= fdate <= end:
if fl[1] == client_name+".stat":
zf.write(os.path.join(dirname, filename))
if docancel==True:
os.remove(os.path.join(dirname, filename))
test=zf.testzip()
if test == None:
zf.close()
else:
print test
zf.close()
哪里是我的错?我怎么解决这个问题? 提前。
一两件事,你们没有关闭'zf'在第二代码片段。请包括一个简短的完整程序来说明错误。有关此调试技术的完整说明,请参阅http://SSCCE.ORG。 –