Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法


Posted in Python onMay 22, 2015

本文实例讲述了Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法。分享给大家供大家参考。具体实现方法如下:

# 这里将一个文件树中的所有文件和子目录归档到一个tar归档文件,然后压缩 
import tarfile, os 
# compression表示压缩算法,gz表示gzip颜色,bz2表示bzip2压缩,
# 空字符串表示不压缩 
# folder_to_backup: 要归档的文件夹 
# dest_folder 表示目标文件夹 
def make_tar(folder_to_backup, dest_folder, compression = 'bz2'):
  # dest_ext 表示扩展名 
  if compression: 
    dest_ext = '.' + compression 
  else: 
    dest_ext = '' 
  arc_name = os.path.basename(folder_to_backup) 
  # dest_name 为目标文件名,dest_path 为目标文件路径 
  dest_name = '%s.tar%s' % (arc_name, dest_ext) 
  dest_path = os.path.join(dest_folder, dest_name) 
  # 压缩方法决定了open的第二个参数是 "w", 或"w:gz", 或"w:bz2"
  if compression: 
    dest_cmp = ':' + compression 
  else: 
    dest_cmp = ''
  out = tarfile.TarFile.open(dest_path, 'w' + dest_cmp)
  out.add(folder_to_backup, arc_name)
  out.close() 
  return dest_path 
dest_path = make_tar('d:/8 file_system', 'd:/') 
print(dest_path)

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

Python 相关文章推荐
Python中获取网页状态码的两个方法
Nov 03 Python
Windows系统下安装Python的SSH模块教程
Feb 05 Python
用Python解决计数原理问题的方法
Aug 04 Python
Python实现冒泡排序的简单应用示例
Dec 11 Python
Python基于高斯消元法计算线性方程组示例
Jan 17 Python
Python学习笔记之open()函数打开文件路径报错问题
Apr 28 Python
spark: RDD与DataFrame之间的相互转换方法
Jun 07 Python
python数据结构学习之实现线性表的顺序
Sep 28 Python
python Manager 之dict KeyError问题的解决
Dec 21 Python
Python从文件中读取数据的方法步骤
Nov 18 Python
Python实现PS滤镜中的USM锐化效果
Dec 04 Python
使用opencv-python如何打开USB或者笔记本前置摄像头
Jun 21 Python
Python3读取zip文件信息的方法
May 22 #Python
Python中用altzone()方法处理时区的教程
May 22 #Python
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
May 22 #Python
python从网络读取图片并直接进行处理的方法
May 22 #Python
python实现统计代码行数的方法
May 22 #Python
在Python中处理日期和时间的基本知识点整理汇总
May 22 #Python
python使用PIL模块实现给图片打水印的方法
May 22 #Python
You might like
linux命令之调试工具strace的深入分析
2013/06/03 PHP
php把时间戳转换成多少时间之前函数的实例
2016/11/16 PHP
PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)
2017/08/15 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
js判读浏览器是否支持html5的canvas的代码
2013/11/18 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
js与jquery回车提交的方法
2015/02/03 Javascript
纯javascript代码实现计算器功能(三种方法)
2015/09/07 Javascript
vue2.0 datepicker使用方法
2018/02/04 Javascript
如何实现一个webpack模块解析器
2018/10/24 Javascript
node中使用es6/7/8(支持性与性能)
2019/03/28 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
sharp.js安装过程中遇到的问题总结
2020/04/02 Javascript
js利用拖放实现添加删除
2020/08/27 Javascript
微信小程序中target和currentTarget的区别小结
2020/11/06 Javascript
[58:18]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Mineski
2018/03/30 DOTA
对python list 遍历删除的正确方法详解
2018/06/29 Python
python Flask 装饰器顺序问题解决
2018/08/08 Python
PyQt5实现简单数据标注工具
2019/03/18 Python
python输出国际象棋棋盘的实例分享
2020/11/26 Python
Canvas高级路径操作之拖拽对象的实现
2019/08/05 HTML / CSS
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
专业销售业务员求职信
2013/11/18 职场文书
酒店中秋节活动方案
2014/01/31 职场文书
学校安全管理责任书
2014/07/23 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
2015年度优秀员工自荐书
2015/03/06 职场文书
结婚幸福感言
2015/08/01 职场文书
践行三严三实心得体会(2016推荐篇)
2016/01/06 职场文书
某学校的2019年度工作报告范本
2019/10/11 职场文书
利用Python+OpenCV三步去除水印
2021/05/28 Python
Python Django项目和应用的创建详解
2021/11/27 Python
python数字图像处理数据类型及颜色空间转换
2022/06/28 Python