使用python合并两个zip文件

时间:2012-10-22 16:43:59

标签: python

我正在尝试使用python合并两个zip文件。

我有它工作,直到我意识到它在源zip文件包含的符号链接时没有表现。因为我在将每个文件添加到新zip文件时对每个文件使用zipfile.read(),所以它正在读取符号链接并创建文本文件,而不是符号链接。

当我将这些符号链接写入目标zip文件时,是否有人知道如何让python从源zip文件中保留符号链接?

感谢。

1 个答案:

答案 0 :(得分:2)

这是应该做的:

      if os.path.islink(filePath):
            attr = zipfile.ZipInfo(filePath)
            attr.create_system = 3 # 3 for unix, 0 for windoze
            attr.external_attr = 2716663808L # to include file as a symlink
            newZip.writestr(attr, os.readlink(filePath))