如下代码在《Python编程快速上手》源代码的基础上修改而成,适用于单次打包操作。

#! python3
#  backupToZip.py - Copies an entire folder and its contents into 
#  a Zip fie.
#  

import zipfile, os
def backupToZip(folder):
    folder = os.path.abspath(folder)
    faterFolder=os.path.dirname(folder)

    # Use for touch rar file
    os.chdir(faterFolder)

    zipFilename = os.path.basename(folder) + '.zip'

    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:
            print("File %s is adding to zip file" % (fileName))
            backupZip.write(os.path.join(folderName, fileName))

    backupZip.close()
    print('Done. ')

backupToZip('d:\\test1')