当前位置: 首页 > 面试题库 >

python zipfile模块似乎没有压缩我的文件

养昊天
2023-03-14
问题内容

我做了一些辅助功能:

import zipfile

def main(archive_list=[],zfilename='default.zip'):
    print zfilename
    zout = zipfile.ZipFile(zfilename, "w")
    for fname in archive_list:
        print "writing: ", fname
        zout.write(fname)
    zout.close()

if __name__ == '__main__':
    main()

问题是我的所有文件都没有被压缩!文件大小相同,实际上,扩展名已更改为“ .zip”(在本例中为“ .xls”)。

我在winXP sp2上运行python 2.5。


问题答案:

这是因为ZipFile要求您指定压缩方法。如果未指定,则假定压缩方法为zipfile.ZIP_STORED,该方法仅存储文件而不压缩文件。您需要将方法指定为zipfile.ZIP_DEFLATED。您将需要为此zlib安装模块(
通常 默认情况下已安装)。

import zipfile

def main(archive_list=[],zfilename='default.zip'):
    print zfilename
    zout = zipfile.ZipFile(zfilename, "w", zipfile.ZIP_DEFLATED) # <--- this is the change you need to make
    for fname in archive_list:
        print "writing: ", fname
        zout.write(fname)
    zout.close()

if __name__ == '__main__':
    main()


 类似资料:
  • 当我在Mac OSX中使用内置的zip压缩程序压缩文件时,会在解压缩的zip中创建一个名为“_MACOSX”的额外文件夹。 我可以调整我的设置,以防止创建此文件夹,还是需要购买第三方压缩工具? 更新:我刚刚发现了一个OSX的免费应用,它解决了我的问题:“YemuZip” 更新2:YemuZip不再是免费软件。

  • 我正在使用Julia的ZipFile包来提取和处理csv文件。没问题,但是当我遇到zip文件中的zip文件时,我也想处理它,但是遇到了一个错误。 Julia ZipFile文档如下:https://zipfilejl.readthedocs.io/en/latest/ 对如何做到这一点有什么想法吗?

  • 本文向大家介绍nodejs的压缩文件模块archiver用法示例,包括了nodejs的压缩文件模块archiver用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了nodejs的压缩文件模块archiver用法。分享给大家供大家参考,具体如下: 发现了个更好用的 zip-local https://www.npmjs.com/package/zip-local 如下代码实现 压缩a文

  • 这是我的功能: 我有十个测试,完全是这样的: 因此,根据我的计算,一次测试只会产生1/10,000次重复运行,10次测试只会产生1/1000次重复运行。然而,它在大约50%的运行中创建了副本,我不知道为什么。

  • 我从这里下载MySQL ZIP Archive:https://dev.mysql.com/downloads/mysql/(Windows(x86,64位), ZIP Archive) 我从来没有使用zip文件安装。所以我遵循这个教程:https://www.youtube.com/watch?v=kJbwKQqwtoE 从youtube教程中,解压缩zip文件后,会出现 但是当我提取zip文件

  • 问题内容: Jenkins无法启动模拟器。这是jenkins的控制台输出: 如果我输入 要么 我懂了 我在ubuntu 12.04上运行jenkins。 问题答案: 错误“ SDL初始化失败,原因是:没有可用的视频设备”将表明模拟器不在图形环境中运行。 然而,你的日志显示,VNC服务器 是 正在启动。但是,也许到模拟器启动时,VNC服务器还没有完全启动。 您可以通过将仿真器启动延迟几秒钟来检查是否