Python:压缩所有文件夹内容,包括断开的链接,而不跟踪它们

2024-05-09 17:14:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python2.7.12编写一个函数,将文件夹及其所有内容压缩到一个zip文件中进行备份。我正在测试代码的文件包含一些指向不存在的目录的链接,我想将这些目录包含在备份文件中。你知道吗

到目前为止,我的代码如下:

def backupToZip(folder, zipPath):
    folder = os.path.abspath(folder)
    with zipfile.ZipFile(zipPath, 'a', zipfile.ZIP_DEFLATED) as backupZip:
        for foldername, subfolders, filenames in os.walk(folder):
            print('Adding files in %s...' % (foldername))
            backupZip.write(foldername)
            for filename in filenames:
                backupZip.write(os.path.join(foldername, filename))

但是,当压缩链接时,我会遇到以下错误:

    backupZip.write(os.path.join(foldername, filename))
  File "/usr/lib/python2.7/zipfile.py", line 1123, in write
    st = os.stat(filename)
OSError: [Errno 2] No such file or directory: '(path to the broken link)'

其余的文件都得到了很好的备份,但无论出于什么原因,我无法破译,链接中断了它。你知道吗


Tags: 文件pathin目录foros链接备份