Python打包文件夹的方法小结(zip,tar,tar.gz等)


Posted in Python onSeptember 18, 2016

本文实例讲述了Python打包文件夹的方法。分享给大家供大家参考,具体如下:

一、zip

import os, zipfile
#打包目录为zip文件(未压缩)
def make_zip(source_dir, output_filename):
  zipf = zipfile.ZipFile(output_filename, 'w')
  pre_len = len(os.path.dirname(source_dir))
  for parent, dirnames, filenames in os.walk(source_dir):
    for filename in filenames:
      pathfile = os.path.join(parent, filename)
      arcname = pathfile[pre_len:].strip(os.path.sep)   #相对路径
      zipf.write(pathfile, arcname)
  zipf.close()

二、tar/tar.gz

import os, tarfile
#一次性打包整个根目录。空子目录会被打包。
#如果只打包不压缩,将"w:gz"参数改为"w:"或"w"即可。
def make_targz(output_filename, source_dir):
  with tarfile.open(output_filename, "w:gz") as tar:
    tar.add(source_dir, arcname=os.path.basename(source_dir))
#逐个添加文件打包,未打包空子目录。可过滤文件。
#如果只打包不压缩,将"w:gz"参数改为"w:"或"w"即可。
def make_targz_one_by_one(output_filename, source_dir):
  tar = tarfile.open(output_filename,"w:gz")
  for root,dir,files in os.walk(source_dir):
    for file in files:
      pathfile = os.path.join(root, file)
      tar.add(pathfile)
  tar.close()

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

Python 相关文章推荐
在Python中处理时间之clock()方法的使用
May 22 Python
windows下Virtualenvwrapper安装教程
Dec 13 Python
python3.6 +tkinter GUI编程 实现界面化的文本处理工具(推荐)
Dec 20 Python
pandas Dataframe行列读取的实例
Jun 08 Python
六行python代码的爱心曲线详解
May 17 Python
Python自定义一个异常类的方法
Jun 27 Python
djano一对一、多对多、分页实例代码
Aug 16 Python
Python pandas自定义函数的使用方法示例
Nov 20 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
Jan 03 Python
Django 项目布局方法(值得推荐)
Mar 22 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
Apr 01 Python
Python pexpect模块及shell脚本except原理解析
Aug 03 Python
Python简单格式化时间的方法【strftime函数】
Sep 18 #Python
Python简单获取自身外网IP的方法
Sep 18 #Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
Sep 18 #Python
Python3实现并发检验代理池地址的方法
Sep 18 #Python
Python常见格式化字符串方法小结【百分号与format方法】
Sep 18 #Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
Sep 18 #Python
Python基于pillow判断图片完整性的方法
Sep 18 #Python
You might like
支持中文字母数字、自定义字体php验证码代码
2012/02/27 PHP
查找php配置文件php.ini所在路径的二种方法
2014/05/26 PHP
php 三元运算符实例详细介绍
2016/12/15 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
window.dialogArguments 使用说明
2011/04/11 Javascript
js关闭模态窗口刷新父页面或跳转页面
2012/12/13 Javascript
Javascript实现重力弹跳拖拽运动效果示例
2013/06/28 Javascript
引用 js在IE与FF之间的区别详细解析
2013/11/20 Javascript
深入理解javascript中的立即执行函数(function(){…})()
2014/06/12 Javascript
javascript实现带下拉子菜单的导航菜单效果
2015/05/14 Javascript
jquery获得当前html页面源码的方法
2015/07/14 Javascript
jquery实现简单实用的打分程序实例
2015/07/23 Javascript
js实现对table的增加行和删除行的操作方法
2016/10/13 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
jQuery使用ajax方法解析返回的json数据功能示例
2017/01/10 Javascript
vue-dialog的弹出层组件
2020/05/25 Javascript
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
2018/05/23 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
Django框架反向解析操作详解
2019/11/28 Python
Python 基于FIR实现Hilbert滤波器求信号包络详解
2020/02/26 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
2020/03/24 Python
执行Python程序时模块报错问题
2020/03/26 Python
python访问hdfs的操作
2020/06/06 Python
使用CSS3创建动态菜单效果
2015/07/10 HTML / CSS
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
行政人事专员岗位职责
2014/03/05 职场文书
总经理秘书岗位职责
2014/03/17 职场文书
保护动物的标语
2014/06/11 职场文书
机电专业求职信
2014/06/14 职场文书
离婚起诉状范本
2015/05/19 职场文书
个人借条范本
2015/05/25 职场文书
2016幼儿园教师节新闻稿
2015/11/25 职场文书
校园文化艺术节开幕词
2016/03/04 职场文书