python zipfile.ZipFile()方法从6M原始文件生成20G zip文件

问题描述 投票:0回答:2

我正在运行python程序(v2.7),该程序会压缩输出,以便可以通过电子邮件发送。

通常,这可以按预期工作,但是有时压缩文件太大,以致机器用完了磁盘空间。但是,当我使用查找程序手动压缩文件时,它可以正常工作。

在这种情况下,使用查找程序将6MB文件压缩为1.6MB,但是python zip方法生成了20GB文件。这是压缩发生的代码:

    zip = zipfile.ZipFile(zipfilename,"w",zipfile.ZIP_DEFLATED)
    for f in os.listdir("."):
        if fnmatch.fnmatch(f,"*final*"):
            zip.write(f)
    zip.close()

是否有解决方法,或者至少避免生成巨大文件?

python zip
2个回答
1
投票

您是否可能在同一目录中创建该zip文件,然后程序尝试将zip文件本身添加到zip文件中?


0
投票

它是Linux ?,我认为您包括隐藏的文件和文件夹吗?

© www.soinside.com 2019 - 2024. All rights reserved.