为了账号安全,请及时绑定邮箱和手机立即绑定

ZipFile 内的 ZipFile (Python)

ZipFile 内的 ZipFile (Python)

12345678_0001 2024-01-24 15:45:16
背景我的主目录中有一些名为delivery_content. 该目录内有两个文件夹content_123和content_456。每个目录都包含一个文本文件。所以整体结构如下所示。-delivery_content -content_123/   -content_123.txt -content_456/   -content_456.txt我正在编写代码,当给定一个目录时,它将压缩它的所有内容。代码import osimport shutilfrom pathlib import Pathfrom datetime import datetimeDOWNLOAD_DIR = Path(os.getenv("HOME")) / "delivery_content"date = datetime.today().strftime("%Y-%m-%d")delivery_name = f"foo_{date}"shutil.make_archive(str(DOWNLOAD_DIR / delivery_name), "zip", str(DOWNLOAD_DIR))print("Zipping Has Complete")因此,对于上面给定的代码,我希望在 中看到 foo_todays_date.zip,DOWNLOAD_DIR当我解压缩它时,我希望看到以下内容 -content_123/   -content_123.txt -content_456/   -content_456.txt但是我看到以下内容有什么方法可以避免我的 zip 文件中包含 .zip 吗?
查看完整描述

1 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

问题是您将 zip 文件放入要存档的目录中。make_archive可能正在创建一个空文件以验证它可以在开始归档之前写入目标。因此它会将空的 zip 文件视为要存档的文件。我使用该函数看到的唯一方法make_archive是将存档文件放在要存档的目录之外,如下所示:

shutil.make_archive(str(DOWNLOAD_DIR / ".."/ delivery_name), "zip", str(DOWNLOAD_DIR))

之后您可以随时将 zip 文件移动到 DOWNLOAD_DIR 中。


查看完整回答
反对 回复 2024-01-24
  • 1 回答
  • 0 关注
  • 30 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信