如何使用Python从.zip解压缩特定文件夹

Jam*_*mes 17 python

我想从Python中解压缩.zip中的特定文件夹:

例如,archive.zip包含的文件夹foobar,我想解压缩foo到一个特定的位置,保持它的文件夹结构.

kas*_*sky 25

检查zipfile模块.

对于你的情况:

import zipfile

archive = zipfile.ZipFile('archive.zip')

for file in archive.namelist():
    if file.startswith('foo/'):
        archive.extract(file, 'destination_path')
Run Code Online (Sandbox Code Playgroud)

  • 这可行,但是有什么方法可以提取没有其祖先的文件夹吗?例如,如果我想从 `archive.zip/foobar/bar/foo/` 中提取 `foo`,行 `archive.extract(file, 'destination_path')` 将提取到 `destination_path/foobar/bar/foo/file `,虽然我希望它提取到 `destination_path/foo/file` (9认同)