Created
August 13, 2016 06:33
-
-
Save andreztz/6361f3828db7740ea6d175ee60bb966e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! python3 | |
# backupToZip.py | |
# Copies an entire folder and its contents into | |
# a zip file whose filename increments. | |
import zipfile, os | |
def backupToZip(folder): | |
# Backup the entire contents of "folder" into a zip file. | |
folder = os.path.abspath(folder) # make sure folder is absolute | |
# Figure out the filename this code should used based on | |
# what files already exist. | |
number = 1 | |
while True: | |
zipFilename = os.path.basename(folder) + '_' + str(number) + '.zip' | |
if not os.path.exists(zipFilename): | |
break | |
number = number + 1 | |
# Create the zip file. | |
print('Creating %s...' % (zipFilename)) | |
backupZip = zipfile.ZipFile(zipFilename, 'w') | |
# Walk the entire folder tree and compress the files in each folder. | |
for foldername, subfolders, filenames in os.walk(folder): | |
print('Adding files in %s...' % (foldername)) | |
# Add the current folder to the ZIP file. | |
backupZip.write(foldername) | |
# Add all the files in this folder to the ZIP file. | |
for filename in filenames: | |
if filename.startswith(os.path.basename(folder) + '_') and filename.endswith('.zip'): | |
continue # don't backup the backup ZIP files | |
backupZip.write(os.path.join(foldername, filename)) | |
backupZip.close() | |
print('Done.') | |
backupToZip('C:\\delicious') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment