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中由于logging模块误用导致的内存泄露
Apr 23 Python
Python编程中实现迭代器的一些技巧小结
Jun 21 Python
Python实现自动为照片添加日期并分类的方法
Sep 30 Python
Python中collections模块的基本使用教程
Dec 07 Python
Python pycharm 同时加载多个项目的方法
Jan 17 Python
QML使用Python的函数过程解析
Sep 26 Python
Python Numpy 自然数填充数组的实现
Nov 28 Python
python利用百度云接口实现车牌识别的示例
Feb 21 Python
Python调用.net动态库实现过程解析
Jun 05 Python
如何创建一个Flask项目并进行简单配置
Nov 18 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
Nov 20 Python
用Python编写简单的gRPC服务的详细过程
Jul 04 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
一个数据采集类
2007/02/14 PHP
php快速url重写更新版[需php 5.30以上]
2010/04/25 PHP
应用开发中涉及到的css和php笔记分享
2011/08/02 PHP
php中OR与|| AND与&&的区别总结
2013/10/26 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
2014/02/13 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
jquery图片切换插件
2015/03/16 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
前端框架Vue.js中Directive知识详解
2016/09/12 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
关于Stream和Buffer的相互转换详解
2017/07/26 Javascript
JS常用的几种数组遍历方式以及性能分析对比实例详解
2018/04/11 Javascript
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
python 多进程通信模块的简单实现
2014/02/20 Python
Python文档生成工具pydoc使用介绍
2015/06/02 Python
详解设计模式中的工厂方法模式在Python程序中的运用
2016/03/02 Python
python读取txt文件并取其某一列数据的示例
2019/02/19 Python
Python生成器的使用方法和示例代码
2019/03/04 Python
Python3 批量扫描端口的例子
2019/07/25 Python
python openCV获取人脸部分并存储功能
2019/08/28 Python
Python图像处理模块ndimage用法实例分析
2019/09/05 Python
Python 去除字符串中指定字符串
2020/03/05 Python
HTML文本属性&颜色控制属性的实现
2019/12/17 HTML / CSS
荷兰包包购物网站:The Little Green Bag
2018/03/17 全球购物
写一个用矩形法求定积分的通用函数
2012/11/08 面试题
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
遗体告别仪式主持词
2014/03/20 职场文书
学校师德承诺书
2014/05/23 职场文书
电子商务专业应届生求职信
2014/05/28 职场文书
医院义诊活动总结
2014/07/04 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
村干部群众路线教育活动对照检查材料
2014/10/01 职场文书
死亡证明书样本说明
2014/10/18 职场文书
Javascript中的解构赋值语法详解
2021/04/02 Javascript
只用40行Python代码就能写出pdf转word小工具
2021/05/31 Python
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
2022/04/09 Javascript