I have a top directory ds237
which has multiple sub-directories under it as below:
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
I am trying to create multiple zip files(with proper zip names) from ds237 as per size of the zip files.
sub01-01.zip: contain sub-01 to sub-07
sub08-13.zip : it contains sub08 to sub-13
I have written a logic which creates a list of sub-directories [sub-01,sub-02, sub-03, sub-04, sub-05]
. I have created the list so that the total size of the all subdirectories in the list should not be > 5gb.
My question: is how can I write a function to zip these sub-dirs (which are in a list) into a destination zip file with a proper name. Basically i want to write a function as follows:
def zipit([list of subdirs], 'path/to/zipfile/sub*-*.zip'):
I Linux I generally achieve this by:
'zip -r compress/sub01-08.zip ds237/sub-0[1-8]'