Python实现压缩文件夹与解压缩zip文件的方法


Posted in Python onSeptember 01, 2018

本文实例讲述了Python实现压缩文件夹与解压缩zip文件的方法。分享给大家供大家参考,具体如下:

直接上代码

#coding=utf-8
#甄码农python代码
#使用zipfile做目录压缩,解压缩功能
import os,os.path
import zipfile
def zip_dir(dirname,zipfilename):
  filelist = []
  if os.path.isfile(dirname):
    filelist.append(dirname)
  else :
    for root, dirs, files in os.walk(dirname):
      for name in files:
        filelist.append(os.path.join(root, name))
  zf = zipfile.ZipFile(zipfilename, "w", zipfile.zlib.DEFLATED)
  for tar in filelist:
    arcname = tar[len(dirname):]
    #print arcname
    zf.write(tar,arcname)
  zf.close()
def unzip_file(zipfilename, unziptodir):
  if not os.path.exists(unziptodir): os.mkdir(unziptodir, 0777)
  zfobj = zipfile.ZipFile(zipfilename)
  for name in zfobj.namelist():
    name = name.replace('\\','/')
    if name.endswith('/'):
      os.mkdir(os.path.join(unziptodir, name))
    else:
      ext_filename = os.path.join(unziptodir, name)
      ext_dir= os.path.dirname(ext_filename)
      if not os.path.exists(ext_dir) : os.mkdir(ext_dir,0777)
      outfile = open(ext_filename, 'wb')
      outfile.write(zfobj.read(name))
      outfile.close()
if __name__ == '__main__':
  zip_dir(r'E:/python/learning',r'E:/python/learning/zip.zip')
  unzip_file(r'E:/python/learning/zip.zip',r'E:/python/learning2')

运行后在E:/python/learning目录下生成zip.zip压缩文件,同时在E:/python目录下解压缩zip.zip文件到learning2目录。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
详解python3中tkinter知识点
Jun 21 Python
解决Python一行输出不显示的问题
Dec 03 Python
python通过tcp发送xml报文的方法
Dec 28 Python
pandas ix &iloc &loc的区别
Jan 10 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
Aug 30 Python
python中with语句结合上下文管理器操作详解
Dec 19 Python
Python多重继承之菱形继承的实例详解
Feb 12 Python
python分别打包出32位和64位应用程序
Feb 18 Python
Python导入数值型Excel数据并生成矩阵操作
Jun 09 Python
Python流程控制语句的深入讲解
Jun 15 Python
python 绘制国旗的示例
Sep 27 Python
详解python的变量缓存机制
Jan 24 Python
Python pymongo模块常用操作分析
Sep 01 #Python
Python实现提取XML内容并保存到Excel中的方法
Sep 01 #Python
python使用webdriver爬取微信公众号
Aug 31 #Python
python爬取微信公众号文章
Aug 31 #Python
Python单向链表和双向链表原理与用法实例详解
Aug 31 #Python
Python使用Flask-SQLAlchemy连接数据库操作示例
Aug 31 #Python
浅谈Python traceback的优雅处理
Aug 31 #Python
You might like
高分R级DC动画剧《哈莉·奎茵》第二季正式预告首发
2020/04/09 欧美动漫
简单的移动设备检测PHP脚本代码
2011/02/19 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
2012/09/25 PHP
PHP运行环境配置与开发环境的配置(图文教程)
2013/06/04 PHP
Smarty中调用FCKeditor的方法
2014/10/27 PHP
php实现MySQL数据库备份与还原类实例
2014/12/09 PHP
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
php实现发送微信模板消息的方法
2015/03/07 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
激活 ActiveX 控件
2006/10/09 Javascript
javascript与CSS复习(二)
2010/06/29 Javascript
javascript实现节点(div)名称编辑
2014/12/17 Javascript
九种原生js动画效果
2015/11/11 Javascript
原生js仿jquery animate动画效果
2016/07/13 Javascript
深入理解JS DOM事件机制
2016/08/06 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
三分钟学会用ES7中的Async/Await进行异步编程
2018/06/14 Javascript
微信小程序日期选择器实例代码
2018/07/18 Javascript
用vue-cli开发vue时的代理设置方法
2018/09/20 Javascript
解决layui弹出层layer的area过大被遮挡的问题
2019/09/21 Javascript
js+h5 canvas实现图片验证码
2020/10/11 Javascript
Python语言的12个基础知识点小结
2014/07/10 Python
python安装virtualenv虚拟环境步骤图文详解
2019/09/18 Python
eBay澳大利亚站:eBay.com.au
2018/02/02 全球购物
英国领先的在线高尔夫商店:Gamola Golf
2019/11/16 全球购物
生物技术专业毕业生求职信范文
2013/12/14 职场文书
追悼会子女答谢词
2014/01/28 职场文书
销售员岗位职责范本
2014/02/03 职场文书
乌鸦喝水教学反思
2014/02/07 职场文书
导师评语大全
2014/04/26 职场文书
村容村貌整治方案
2014/05/21 职场文书
2015员工年度考核评语
2015/03/25 职场文书
2015年读书月活动总结
2015/03/26 职场文书
感恩教育主题班会
2015/08/12 职场文书
写作技巧:怎样写好一份优秀工作总结?
2019/08/14 职场文书
关于Oracle12C默认用户名system密码不正确的解决方案
2021/10/16 Oracle