如何压缩 python 中的文件?
How to zip a file in python?
我一直在尝试制作一个 python 脚本来使用 zipfile 模块压缩文件。虽然文本文件被制作成一个zip文件,但它似乎并没有压缩它; testtext.txt 是 1024KB,而 testtext.zip(代码的创建)也等于 1024KB。但是,如果我在文件资源管理器中手动压缩 testtext.txt,生成的 zip 文件 是 压缩的(具体为 2KB)。如果可能的话,我该如何解决这个逻辑错误?
下面是我用来(未成功)压缩文本文件的脚本。
from zipfile import ZipFile
textFile = ZipFile("compressedtextstuff.zip", "w")
textFile.write("testtext.txt")
textFile.close()
在文档中,他们用 with 语句编写了它,所以我会先尝试一下。
编辑:
我只是回来说你必须指定你的压缩方法,但马克抢先一步。
这是关于它的 link 到 Whosebug post
.
嗯,这很奇怪。 Python的zipfile默认是存储的压缩方式,不压缩! (他们为什么要那样做?)
您需要指定压缩方式。使用ZIP_DEFLATED
,这是最广泛支持的。
import zipfile
zip = zipfile.ZipFile("stuff.zip", "w", zipfile.ZIP_DEFLATED)
zip.write("test.txt")
zip.close()
我一直在尝试制作一个 python 脚本来使用 zipfile 模块压缩文件。虽然文本文件被制作成一个zip文件,但它似乎并没有压缩它; testtext.txt 是 1024KB,而 testtext.zip(代码的创建)也等于 1024KB。但是,如果我在文件资源管理器中手动压缩 testtext.txt,生成的 zip 文件 是 压缩的(具体为 2KB)。如果可能的话,我该如何解决这个逻辑错误?
下面是我用来(未成功)压缩文本文件的脚本。
from zipfile import ZipFile
textFile = ZipFile("compressedtextstuff.zip", "w")
textFile.write("testtext.txt")
textFile.close()
在文档中,他们用 with 语句编写了它,所以我会先尝试一下。
编辑:
我只是回来说你必须指定你的压缩方法,但马克抢先一步。
这是关于它的 link 到 Whosebug post .
嗯,这很奇怪。 Python的zipfile默认是存储的压缩方式,不压缩! (他们为什么要那样做?)
您需要指定压缩方式。使用ZIP_DEFLATED
,这是最广泛支持的。
import zipfile
zip = zipfile.ZipFile("stuff.zip", "w", zipfile.ZIP_DEFLATED)
zip.write("test.txt")
zip.close()