我正在编写一个 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/