要用os.walk()遍历文件夹。
这个folder2zip.py程序定义了两个函数:
一个只执行打包压缩的函数,
一个使用时调用的函数,包含执行压缩的函数,同时判断压缩包是否已存在,如果已存在则询问是否继续压缩。
import os
from zipfile import ZipFile
def backupZip(folder): #这个函数只做文件夹打包的动作,不判断压缩包是否存在
zipfile_name = os.path.basename(folder) + '.zip' #压缩包和文件夹同名
with ZipFile(zipfile_name, 'w') as zfile: #以写入模式创建压缩包
for foldername, subfolders, files in os.walk(folder): #遍历文件夹
print('Adding files in ' + foldername +'...')
zfile.write(foldername)
for i in files:
zfile.write(os.path.join(foldername,i))
print('Adding ' + i)
print('Done.')
def folder2zip(folder): #文件夹打包为zip的函数
zipfile_name = os.path.basename(folder) + '.zip'
if not os.path.exists(zipfile_name): #检查压缩包是否存在,如果已存在则询问是否继续
backupZip(folder)
else:
response = input("Zipfile exists. Coutinue?('q' for quit): ")
if response != 'q':
backupZip(folder)
运行:
folder2zip('example')
本文介绍如何利用Python的ZipFile模块遍历文件夹并进行压缩打包。通过folder2zip.py脚本,定义了两个核心函数,一个负责实际的压缩操作,另一个在运行时检查目标压缩文件是否存在,并根据用户确认决定是否继续压缩。
3万+

被折叠的 条评论
为什么被折叠?



