大家在网络上应该经常会去下载或者传输一些zip、rar等格式的压缩文件 , 而这些压缩文件之中保存的可能是单个文件 , 也有可能是不同的文件夹 。那么小编本文要来给大家讲解的内容就是 , python批量压缩文件夹的方法教程 , 感兴趣的话就一起往下看看吧 。
文章插图
1.将zipfile模块以及os模块都给导入进来 , 导入进来之后定义一个只有单个参数的函数 , 这个参数所需要的值就是文件夹路径 , 示例如下:
import zipfileimport osdef zip_yasuo(start_dir):2.在函数内定义一个变量并赋值文件路径和后缀名zip来表示压缩文件 , 再调用if条件判断一下该文件路径是否不是文件 , 也就是不存在压缩文件才继续往下执行 。所以下一步的代码就是调用zipfile()方法来将其给压缩起来 , 示例如下所示:
file_news = start_dir + '.zip'if not os.path.isfile(file_news): z = zipfile.ZipFile(file_news, 'w', zipfile.ZIP_DEFLATED)3.调用walk方法将文件路径下面所有的文件夹以及文件都给找出来并且使用for循环迭代 , 遍历的过程之中需要得到文件夹的文件路径并处理 , 也就是将里面的空格给去除掉 , 示例如下:
for dir_path, dir_names, file_names in os.walk(start_dir): file_path = dir_path.replace(start_dir, '') file_path = file_path and file_path + os.sep or ''4.之后还是使用for循环迭代 , 不过这次迭代的对象是包含了文件目录下所有文件夹及其名称的对象 , 调用write()方法将其写入到文件压缩对象中实现压缩处理 , 代码如下:
for filename in file_names: z.write(os.path.join(dir_path, filename), file_path+filename)z.close()5.最后只需要调用定义好的函数并且将文件路径作为参数传递进去即可 , 代码示例如下所示:
if __name__ == "__main__": zip_yasuo(r"E:\zip")【Python怎么批量压缩文件夹?Python如何将多个文件夹同时压缩】以上就是关于“Python怎么批量压缩文件夹?Python如何将多个文件夹同时压缩”的全部内容了 , 希望对你有所帮助 。
推荐阅读
- 祝大家小年快乐的文案句子 怎么祝大家小年快乐
- Jupyter如何实现进度条?Python编辑器jupyter显示进度条怎么做
- Python中SQLALchemy是什么?Python第三方库SQLALchemy怎么使用
- Python变量如何进行格式化输出?Python变量格式化输出的方法
- 蛋鸭不下蛋怎么办?
- 如何访问Python字典中的元素?Python字典中元素的访问方法
- 如何查看Python解释器的路径?查看Python解释器路径的两种方式
- 蛋鸭咳嗽怎么办?
- 蛋鸭过瘦怎么办?
- 微信红包怎么退回对方 如何操作