python - 使用 Python 压缩 Mac 应用程序包

标签 python macos zip bundle

我正在编写一个 Python (2.7) 脚本来构建和分发我的 Mac (10.7) 应用程序。我想将其压缩以进行分发,但以下代码会生成空的压缩应用程序(0 字节):

from zipfile import ZipFile

with ZipFile(zip_file_dist_path, 'w') as dist_zip:
    dist_zip.write(archived_app, os.path.basename(archived_app))

当我需要将其视为目录时,它是否将其视为文件?如果我通过遍历应用程序包的目录树并将每个文件写入 zip 来将其压缩,它是否会使用所有正确的文件系统元数据解压缩(即我会返回正确的应用程序)?

最佳答案

我从 ZipFile 切换到 shutil.make_archive,因为它负责目录递归,并且我不需要任何更细粒度的控制:

import shutil

zip_file_path = shutil.make_archive(zip_file_build_path, 'zip', root_dir = dist_dir);

关于python - 使用 Python 压缩 Mac 应用程序包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9388476/

相关文章:

ios - 调用异步 API 时如何等待某些操作完成

windows - 如何仅使用内置的(批处理脚本、资源管理器等)在 Windows 上压缩文件?

windows - 程序员的图像编辑器?

java - 如何使用maven创建zip文件: Java Client + JRE

java - 将 ZipOutputStream 返回给浏览器

python - WebElement 和 __getitem__ 有什么问题

python - 从 python 连接到远程服务器中的 MySQL

python - 使用正则表达式检查数据集是否存在,无需先读取所有数据集的路径

Python模块数据库配置?

macos - 如何在 Mac OS git 中启用分支提示?