ZipFile 错误的目录结构

ZipFile bad directory structure

我试着制作一些脚本来帮助我从选定的目录中压缩文件。

我有:

import sys
import os
import zipfile

source_dir = "C:\myDir\yourDir\"
zip = zipfile.ZipFile("C:\myDir\yourDirZip.zip","w",allowZip64=True)


for root, dirs, files in os.walk(source_dir):
    for f in files:
        zip.write(os.path.join(root,f))

zip.close()

执行后,在yourDirZip.zip中是:

myDir/
    yourDir/
      ...

我直接期望只有yourDir甚至只有yourDir

的内容

你对我如何得到我想要的东西有什么想法吗?

您可以在 write 方法中指定 arcname 参数:

import sys
import os
import zipfile

source_dir = "C:\myDir\yourDir"
zip = zipfile.ZipFile("C:\myDir\yourDirZip.zip","w",allowZip64=True)


for root, dirs, files in os.walk(source_dir):
    for f in files:
        zip.write(os.path.join(root,f), arcname=f)

zip.close()