大家假期愉快啊,今天向大家介绍一下如何将文件夹压缩一下,我们具体为什么要这样做呢,在我们日常执行完自动化测试脚本后生成的测试报告文件,这些测试结果文件在往往都是保存在我们本地的,我们想要将测试结果文件通过邮箱发送给我们领导往往需要先将测试结果文件打包。好了废话不多说,直接上代码吧。
import zipfile #引入zip管理模块
import os
import sys
class Zip_ya():
def zip_ya(self,start_dir):
self.start_dir = start_dir # 要压缩的文件夹路径
file_news = self.start_dir + '.zip' # 压缩后文件夹的名字
z = zipfile.ZipFile(file_news, 'w', zipfile.ZIP_DEFLATED)
for dir_path, dir_names, file_names in os.walk(self.start_dir):
f_path = dir_path.replace(self.start_dir, '') # 这一句很重要,不replace的话,就从根目录开始复制
f_path = f_path and f_path + os.sep or '' # 实现当前文件夹以及包含的所有文件的压缩
for filename in file_names:
z.write(os.path.join(dir_path, filename), f_path + filename)
z.close()
return file_news
以上的代码可以直接使用,哈哈哈哈。