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代码做configure文件
Jul 20 Python
Python去除列表中重复元素的方法
Mar 20 Python
Python的Django框架下管理站点的基本方法
Jul 17 Python
Python实现模拟分割大文件及多线程处理的方法
Oct 10 Python
Python中进程和线程的区别详解
Oct 29 Python
详解python中的json和字典dict
Jun 22 Python
python事件驱动event实现详解
Nov 21 Python
Python实现统计英文文章词频的方法分析
Jan 28 Python
Python函数定义及传参方式详解(4种)
Mar 18 Python
Python-copy()与deepcopy()区别详解
Jul 12 Python
Python 实现一个计时器
Jul 28 Python
python 监控服务器是否有人远程登录(详细思路+代码)
Dec 18 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
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
laravel框架模型、视图与控制器简单操作示例
2019/10/10 PHP
PHP超级全局变量【$GLOBALS,$_SERVER,$_REQUEST等】用法实例分析
2019/12/11 PHP
TP5框架实现一次选择多张图片并预览的方法示例
2020/04/04 PHP
Javascript与vbscript数据共享
2007/01/09 Javascript
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
判断某个字符在一个字符串中是否存在的js代码
2014/02/28 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
详解javascript高级定时器
2015/12/31 Javascript
jQuery实现隔行变色的方法分析(对比原生JS)
2016/11/18 Javascript
web 屏蔽BackSpace键实例代码
2016/12/24 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
微信小程序商城项目之商品属性分类(4)
2017/04/17 Javascript
vue基于Vue2.0和高德地图的地图组件实例
2017/04/28 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
vue组件命名和props命名代码详解
2019/09/01 Javascript
node静态服务器实现静态读取文件或文件夹
2019/12/03 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
[01:13:18]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
仅用500行Python代码实现一个英文解析器的教程
2015/04/02 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
python之DataFrame实现excel合并单元格
2021/02/22 Python
Python字符串的一些操作方法总结
2019/06/10 Python
python实现二级登陆菜单及安装过程
2019/06/21 Python
python从Oracle读取数据生成图表
2020/10/14 Python
h5实现获取用户地理定位的实例代码
2017/07/17 HTML / CSS
毕业学生推荐信
2013/12/01 职场文书
学生会个人自荐书范文
2014/02/12 职场文书
大学生就业意向书范文
2014/04/01 职场文书
中学生操行评语大全
2014/04/24 职场文书
祖国在我心中演讲稿600字
2014/09/23 职场文书
新学期红领巾广播稿
2014/10/04 职场文书
吃空饷专项整治方案
2014/10/27 职场文书
综合管理员岗位职责
2015/02/11 职场文书