龙空技术网

Python编程快速上手实践项目--将一个文件夹备份到一个 ZIP 文件

跟屁猫oneko 303

前言:

此刻咱们对“python压缩文件夹为zip”大体比较关心,你们都需要分析一些“python压缩文件夹为zip”的相关文章。那么小编同时在网络上搜集了一些有关“python压缩文件夹为zip””的相关内容,希望兄弟们能喜欢,你们一起来学习一下吧!

需求

假定你正在做一个项目,它的文件保存在 C:\AlsPythonBook 文件夹中。你担心工作会丢失,所以希望为整个文件夹创建一个 ZIP 文件,作为“快照”。你希望保存不同的版本,希望 ZIP 文件的文件名每次创建时都有所变化。例如 AlsPythonBook_1.zip、AlsPythonBook_2.zip、AlsPythonBook_3.zip,等等。你可以手工完成,但这有点烦人,而且可能不小心弄错 ZIP 文件的编号。运行一个程序来完成这个烦人的任务会简单得多。针对这个项目,打开一个新的文件编辑器窗口,将它保存为 backupToZip.py。

分析

首先根据需求确定备份的zip文件的名字

然后创建本次备份的压缩文件

将需要备份的文件写入到zip文件

关闭压缩文件

代码

import os,zipfiledef backupToZip(folder): folder = os.path.abspath(folder) num = 1 while True: zipFilename = os.path.basename(folder) + '_' + str(num) +'.zip' if not os.path.exists(zipFilename): break num += 1 #create zip file backupZipfile = zipfile.ZipFile(zipFilename, 'w') for foldername, subfolders, filenames in os.walk(folder): # write current folder to zip file. backupZipfile.write(foldername) # compress the files in each folder for filename in filenames: # don't compress backup zip file if filename.startswith(os.path.basename(folder+'_')) and filename.endswith('.zip'): continue backupZipfile.write(os.path.join(foldername, filename)) backupZipfile.close()if __name__ == '__main__': backupToZip('D:\\tmp')
执行结果

标签: #python压缩文件夹为zip