经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » 编程经验 » 查看文章
基于Python——实现解压文件夹中的.zip文件
来源:cnblogs  作者:测试小白的进阶  时间:2019/3/13 8:42:33  对本文有异议

【背景】当一个文件夹里存好好多.zip文件需要解压时,手动一个个解压再给文件重命名是一件很麻烦的事情,基于此,今天介绍一种使用python实现批量解压文件夹中的压缩文件并给文件重命名的方法——

【代码实现】

  1. #!/usr/bin/env python
  2. #! -*- coding:utf-8 -*-
  3.  
  4.  
  5. import zipfile
  6. import os
  7. import shutil
  8. def un_zip(file_name):
  9. """解压单个文件"""
  10. zip_file = zipfile.ZipFile(file_name) #读取zip文件
  11. if os.path.isdir(file_name[0:-20]): #判断是否存在文件夹,file_name[0:20]是为了方便我去掉日期和.zip的后缀
  12. pass
  13. else:
  14. os.mkdir(file_name[0:-20]) #创建文件夹
  15.  
  16. for names in zip_file.namelist(): #解压
  17. zip_file.extract(names,file_name[0:-20])
  18. zip_file.close()
  19. Conf = os.path.join(file_name[0:-20], 'conf') # 删除配置文件,如不需要,可删除
  20. shutil.rmtree(Conf)
  21. if os.path.exists(file_name): #删除zip文件
  22. os.remove(file_name)
  23. print file_name[0:-20],'解压成功'
  24.  
  25.  
  26. def un_zip_Tree(path): # 解压文件夹中的zip文件
  27. if not os.path.exists(path): # 如果本地文件夹不存在,则创建它
  28. os.makedirs(path)
  29. for file in os.listdir(path): #listdir()返回当前目录下清单列表
  30. Local = os.path.join(path, file) #os.path.join()用于拼接文件路径
  31. if os.path.isdir(file): # 判断是否是文件
  32. if not os.path.exists(Local): #对于文件夹:如果本地不存在,就创建该文件夹
  33. os.makedirs(Local)
  34. un_zip_Tree(path)
  35. else: # 是文件
  36. if os.path.splitext(Local)[1] == '.zip': #os.path.splitext(Remote)[1]获取文件扩展名,判断是否为.zip文件
  37. un_zip(Local) #解压文件
  1. un_zip()函数,可实现对传入的单个.zip文件进行解压放到新文件夹,并将原来的.zip文件删除
    un_zip_Tree()函数,可实现对传入的文件夹路径进行处理:找到文件夹里面的.zip文件,交给un_zip()解压
  1. if __name__ == '__main__':
  2. local = raw_input("please input the local path(eg.D:\\V1.6):")
  3. un_zip_Tree(local)

主函数只需要传入需要批量解压的文件夹就可以啦~

原文链接:http://www.cnblogs.com/testxiaobai/p/10515443.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号