From bcf82e263206a9bed4bdd9e78f20dd1b4e343630 Mon Sep 17 00:00:00 2001 From: sigizmund Date: Thu, 17 Dec 2009 11:34:15 +0000 Subject: [PATCH] zipdir added --- zipdir.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 zipdir.py diff --git a/zipdir.py b/zipdir.py new file mode 100644 index 0000000..1b54cf9 --- /dev/null +++ b/zipdir.py @@ -0,0 +1,41 @@ +import os +import zipfile + +def toZip(filename, directory): + zippedHelp = zipfile.ZipFile(filename, "w", compression=zipfile.ZIP_DEFLATED) + lst = os.listdir(directory) + + for entity in lst: + if entity.startswith('.'): + continue + + each = os.path.join(directory,entity) + print(each) + + if os.path.isfile(each): + print(each) + zippedHelp.write(each, arcname=entity) + else: + addFolderToZip(zippedHelp,entity, each) + + zippedHelp.close() + +def addFolderToZip(zippedHelp,folder,fpath): + print('addFolderToZip(%s)' % folder) + + if folder == '.' or folder == '..': + return + + folderFiles = os.listdir(fpath) + for f in folderFiles: + print('------%s' % f) + if os.path.isfile(fpath + '/' + f): + print('basename=%s' % os.path.basename(fpath + '/' + f)) + zippedHelp.write(fpath + '/' + f, folder + '/' + f, zipfile.ZIP_DEFLATED) + elif os.path.isdir(f): + addFolderToZip(zippedHelp,f) + +if __name__ == '__main__': + toZip('sample.epub', "books/Harry's_Second_Chance:_Back_From_the_Future") + z = zipfile.ZipFile('sample.epub', 'r') + print(z.namelist()) \ No newline at end of file