gpt4 book ai didi

python - 使用 zipfile 模块在 python 中创建带有压缩的 zip 文件

转载 作者:行者123 更新时间:2023-12-03 18:38:32 24 4
gpt4 key购买 nike

我是 python 新手。我的要求是将所有文件从源目录压缩(压缩)到目标目录。我使用了 stackOverFlow 中的以下代码。

import zipfile, os
locfile = "D:\Python\Dir_dir\Dir_dir\ABC.txt"
loczip = "D:\Python\Dir_dir\Dir_dir2\ABC_TEST.zip"
zip = zipfile.ZipFile (loczip, "w")
zip.write (locfile)
zip.close()
它正在创建一个 zip 文件,但它包含整个继承的目录结构。除了驱动器(D:/)之外,其余的结构都被添加到 zip 中。它如下所示:
"D:\Python\Dir_dir\Dir_dir2\ABC_TEST.zip\Python\Dir_dir\Dir_dir\ABC.txt"
而我想要:
"D:\Python\Dir_dir\Dir_dir2\ABC_TEST.zip\ABC.txt"
它也没有被压缩。

最佳答案

要启用压缩,请在构造函数中指定压缩方法:

zip = zipfile.ZipFile(loczip, "w", zipfile.ZIP_DEFLATED)

我认为您要求删除 zip 文件中文件的相对路径。如果你真的想要,你可以写:
zip.write(locfile, os.path.basename(locfile))

然而,这可能是个坏主意,因为如果您压缩两个同名文件,删除所有路径信息会导致命名冲突。

关于python - 使用 zipfile 模块在 python 中创建带有压缩的 zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25448923/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com