【发布时间】:2018-02-24 01:36:44
【问题描述】:
我有一个顶级目录ds237,它下面有多个子目录:
ds237/
├── dataset_description.json
├── derivatives
├── sub-01
├── sub-02
├── sub-03
├── sub-04
├── sub-05
├── sub-06
├── sub-07
├── sub-08
├── sub-09
├── sub-10
├── sub-11
├── sub-12
├── sub-13
├── sub-21
├── sub-22
├── sub-23
├── sub-24
├── sub-25
├── sub-26
├── sub-27
├── sub-28
├── sub-29
我正在尝试根据 zip 文件的大小从 ds237 创建多个 zip 文件(具有正确的 zip 名称)。
sub01-01.zip: contain sub-01 to sub-07
sub08-13.zip : it contains sub08 to sub-13
我编写了一个创建子目录列表[sub-01,sub-02, sub-03, sub-04, sub-05] 的逻辑。我创建了列表,因此列表中所有子目录的总大小不应> 5gb。
我的问题: 是如何编写一个函数来将这些子目录(在列表中)压缩到具有正确名称的目标 zip 文件中。 基本上我想写一个函数如下:
def zipit([list of subdirs], 'path/to/zipfile/sub*-*.zip'):
我在 Linux 我通常通过以下方式实现:
'zip -r compress/sub01-08.zip ds237/sub-0[1-8]'
【问题讨论】: