我正在尝试使用python合并两个zip文件。
我有它工作,直到我意识到它在源zip文件包含的符号链接时没有表现。因为我在将每个文件添加到新zip文件时对每个文件使用zipfile.read(),所以它正在读取符号链接并创建文本文件,而不是符号链接。
当我将这些符号链接写入目标zip文件时,是否有人知道如何让python从源zip文件中保留符号链接?
感谢。
答案 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))