我做了一个小助手函数:
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
模块(默认情况下通常是安装)。压缩
zip
格式的方法非常简单在
shutil.make_archive
库中使用。例如:
可以在:Here上看到更多的文档
相关问题 更多 >
编程相关推荐