zip_dir.py:
import os import zipfile def zip_dir(dirname,zipfilename): filelist=[] if os.path.isfile(dirname): filelist.append(dirname) else: for root ,dirs,files in os.walk(dirname): for name in files: filelist.append(os.path.join(root,name)) zf=zipfile.ZipFile(zipfilename,"w",zipfile.zlib.DEFLATED) for tar in filelist: arcname=tar[len(dirname):] zf.write(tar,arcname) zf.close() print('Successful!') print('zip has been kept in',zipfilename)
backup.py:
import os import time import zip_dir source='/Users/michael/example/notes' target_dir='/Users/michael/example/backup' if not os.path.exists(target_dir): os.mkdir(target_dir) today=target_dir + os.sep + time.strftime('%Y%m%d') now=time.strftime('%H%M%S') comment=input('Enter a comment -->') if len(comment)==0: target=today + os.sep + now + '.zip' else: target=today + os.sep + now + '_' + comment.replace(' ','_') + '.zip' if not os.path.exists(today): os.mkdir(today) print('Successfully created directory',today) print('Running:') zip_dir.zip_dir(source,target)