Back to SDS/2 Parametric Scripts

"""

Function makeArchive is a wrapper for the Python class zipfile.ZipFile

'fileList' is a list of file names - full path each name

'archive' is the file name for the archive with a full path

"""

# zipfile_archive

import zipfile, os

 

def makeArchive(fileList, archive):

    try:

        # ZipFile will accept a file name or file object

        a = zipfile.ZipFile(archive, 'w', zipfile.ZIP_DEFLATED)

        for f in fileList:

            print "archiving file %s" % (f)

            a.write(f, os.path.basename(f))

        a.close()

        return True

    except: return False

 

if __name__== '__main__':

 

    fileList = ['H:/TEMP/temsys/Anchor Rod Plans.txt',

                'H:/TEMP/temsys/abc1.txt',

                'H:/TEMP/temsys/abc2.txt',

                'H:/TEMP/temsys/abc2.txt',

                'H:/TEMP/temsys/abc3.txt',

                'H:/TEMP/temsys/abc4.txt'

                ]

 

    arcfile_name = 'H:/TEMP/temsys/zipped_files.zip'

 

    if makeArchive(fileList, arcfile_name):

        print arcfile_name, "was created.\n"

        # check the new archive file

        f = zipfile.ZipFile(arcfile_name, 'r')

        for info in f.infolist():

            print info.filename, info.date_time, info.file_size, info.compress_size

        f.close()

    else:

        print "There was an error"

 

"""Sample Output

>>> archiving file H:/TEMP/temsys/Anchor Rod Plans.txt

archiving file H:/TEMP/temsys/abc1.txt

archiving file H:/TEMP/temsys/abc2.txt

archiving file H:/TEMP/temsys/abc2.txt

archiving file H:/TEMP/temsys/abc3.txt

archiving file H:/TEMP/temsys/abc4.txt

H:/TEMP/temsys/zipped_files.zip was created.

 

Anchor Rod Plans.txt (2005, 10, 19, 19, 17, 16) 1657 828

abc1.txt (2007, 1, 5, 11, 16, 46) 61 46

abc2.txt (2007, 1, 5, 11, 1, 2) 43 41

abc2.txt (2007, 1, 5, 11, 1, 2) 43 41

abc3.txt (2007, 1, 5, 11, 0, 46) 43 39

abc4.txt (2007, 1, 5, 11, 0, 30) 25 25

>>> """