测试存档数据(unzip -t equivalent) - Python



我有一个用python编写的程序,它将存档(zip文件)上传到远程服务器。但在上传之前,我需要测试它没有损坏,所以我想执行类似unzip -t的东西,如果失败就抛出一个错误。

是否有python实现的东西可以做到这一点(在google上找不到任何东西),或者如果我执行系统调用unzip -t,是否有办法从我的程序中捕获错误?

谢谢

Zipfile.testzip是你的朋友。

读取归档文件中的所有文件并检查它们的CRC和文件头。返回第一个错误文件的名称,否则返回None。

使用ZipFile.testzip:

import zipfile
def zip_isOk(fn):
    with zipfile.ZipFile(fn, 'r') as zipf:
        return zipf.testzip() is None

最新更新