【问题标题】:How to unzip recursively in place?如何递归解压到位?
【发布时间】:2022-01-30 21:19:34
【问题描述】:

我有一个带有子目录的目录。我想以递归方式和本地方式解压缩此目录结构中的每个.zip 文件。 (在 .zip 文件旁边解压缩)
例如:

.
├── A
│   ├── A2
│   │   └── content1.zip
│   ├── content2.zip
│   └── content3.zip
├── B
│   └── content4.zip
└── content5.zip

解压后:

.
├── A
│   ├── A2
│   │   ├── content1.txt
│   │   └── content1.zip
│   ├── content2.txt
│   ├── content2.zip
│   ├── content3.txt
│   └── content3.zip
├── B
│   ├── content4.txt
│   └── content4.zip
├── content5.txt
└── content5.zip

我更喜欢它在 linux 和 windows 上都可以工作。

【问题讨论】:

标签: zip unzip


【解决方案1】:

用python3

import os
import sys
import zipfile

for dir in os.walk(sys.argv[1]):
    #dir[0] - current directory
    #dir[1] - directories in current directory
    #dir[2] - files in current directory
    for file in dir[2]:
        if file.endswith(".zip"):
            with zipfile.ZipFile(dir[0] + "/" + file, 'r') as zip_ref:
                zip_ref.extractall(dir[0])

在当前目录运行:

python3 unzip.py .

【讨论】:

    猜你喜欢
    • 2012-02-17
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    • 2015-12-23
    • 2016-03-18
    • 2011-05-30
    • 2018-07-11
    • 1970-01-01
    相关资源
    最近更新 更多